|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你精通任何一门语言就最强大。现在来看,java的市场比C#大,C#容易入手,比较简单,java比较难
1.流媒体(StreamingMedia)
1.1流媒体观点
流媒体手艺是收集手艺和多媒体手艺开展到必定阶段的产品。术语流媒体既能够指在网上传输一连时基媒体的流式手艺,也能够教唆用流式手艺的一连时基媒体自己。在网上传输音频、视频等多媒体信息今朝次要有两种体例:下载和流式传输。接纳下载体例,用户必要先下载全部媒体文件,然后才干举行播放。因为收集带宽的限定,下载经常要花很长工夫,以是这类处置体例提早很年夜。而流媒体完成的关头手艺是流式传输。传输之前起首对多媒体举行预处置(下降质量和高效紧缩),然后利用缓存体系来包管数据一连准确地举行传输。利用流式传输体例,用户不用像接纳下载体例那样要比及全部文件全体下载终了,而是只需经由几秒到几十秒的启动延时便可在客户端举行播放和寓目。此时媒体文件的残剩部分将在背景持续下载。与纯真的下载体例比拟,这类对多媒体文件边下载边播放的流式传输体例不但使启动延时年夜幅度地延长,并且对体系缓存容量的需求也年夜年夜下降。利用流式传输的另外一个优点是使传输那些事前不晓得或没法晓得巨细的媒体数据(如网上直播、视频集会等)成为大概。
到今朝为止,Internet上利用较多的流式视频格局次要有以下三种:RealNetworks公司的RealMedia,Apple公司的QuickTime和Microsoft公司的AdvancedStreamingFormat(ASF)。
1.2撑持流媒体的协定
多媒体使用的一个明显特性是数据量年夜,而且很多使用对及时性请求对照高。传统的TCP协定是一个面向毗连的协定,它的重传机制和堵塞把持机制都是不合用于及时多媒体传输的。RTP是一个使用型的传输层协定,它其实不供应任何传输牢靠性的包管和流量的堵塞把持机制。RTP位于UDP(UserDatagramProtocol)之上。UDP固然没有TCP那末牢靠,而且没法包管及时营业的服务质量,必要RTCP及时监控数据传输和服务质量。可是,因为UDP的传输时延低于TCP,能与音频和视频很好地共同。因而,在实践使用中,RTP/RTCP/UDP用于音频/视频媒体,而TCP用于数据和把持信令的传输。今朝,撑持流媒体传输的协定次要有及时传输协定RTP(Real-TimeTransportProtocol)、及时传输把持协定RTCP(Real-TimeTransportControlProtocol)和及时流协定RTSP(Real-TimeStreamingProtocol)等。上面分离对这三种协定作扼要先容。流媒体协定栈如所示。
流媒体协定栈
2.及时传输协定RTP(Real-TimeTransportProtocol):
RTP是针对Internet上多媒体数据流的一个传输协定,由IETF(Internet工程义务组)作为RFC1889公布。RTP被界说为在一对一或一对多的传输情形下事情,其目标是供应工夫信息和完成流同步。RTP的典范使用创建在UDP上,但也能够在TCP或ATM等其他协定之上事情。RTP自己只包管及时数据的传输,其实不能为按按次传送数据包供应牢靠的传送机制,也不供应流量把持或堵塞把持,它依托RTCP供应这些服务。
2.1RTP事情机制
威逼多媒体数据传输的一个尖利的成绩就是不成意料数据抵达工夫。可是流媒体的传输是必要数据的合时的抵达用以播放和回放。rtp协定就是供应了工夫标签,序列号和别的的布局用于把持合时数据的放逐。在流的观点中”工夫标签”是最主要的信息。发送端按照立即的采样在数据包里潜伏的设置了工夫标签。在承受端收到数据包后,就按照工夫标签依照准确的速度恢复成原始的合时的数据。分歧的媒体魄式调时属性是纷歧样的。可是rtp自己其实不卖力同步,rtp只是传输层协定,为了简化运输层处置,进步该层的效力。将部分运输层协定功效(好比流量把持)上移到使用层完成。同步就是属于使用层协定完成的。它没有运输层协定的完全功效,不供应任何机制来包管及时地传输数据,不撑持资本预留,也不包管服务质量。rtp报文乃至不包含长度和报文界限的形貌。同时rtp协定的数据报文和把持报文的利用相邻的分歧端口,如许年夜年夜进步了协定的天真性和处置的复杂性。
rtp协定和udp两者配合完成运输层协定功效。udp协定只是传输数据包,不论数据包传输的工夫按次。rtp的协定数据单位是用udp分组来承载的。在承载rtp数据包的时分,偶然候一帧数据被支解成几个包具有不异的工夫标签,则能够晓得工夫标签并非必需的。而udp的多路复用让rtp协定使用撑持显式的多点送达,能够满意多媒体味话的需求。
rtp协定固然是传输层协定可是它没有作为osi系统布局中独自的一层来完成。rtp协定一般依据一个详细的使用来供应服务,rtp只供应协定框架,开辟者能够依据使用的详细请求对协定举行充实的扩大。
<p>
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。 |
|