- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
流媒体传输的基本原理
流媒体传输的基本原理流媒体服务器架设
流媒体技术也称为流式传输技术,是指在网络上按时间先后次序传输和播放的连续音、视频数据流。随着网络速度的提高,以流媒体技术为核心的视频点播、在线电视、远程培训等业务开展得越来越广泛。本章主要介绍流媒体技术的基础知识、流媒体服务器的安装、运行、配置和使用等内容。
23.1? 流媒体技术基础
流媒体是指利用流式传输技术传送的音频、视频等连续媒体数据,它的核心是串流(Streaming)技术和数据压缩技术,具有连续性、实时性、时序性3个特点,可以使用顺序流式传输和实时流式传输两种传输方式。本节主要介绍有关流媒体的技术基础。
23.1.1? 流媒体传输的基本原理
实现流式传输需要使用缓存机制。因为音频或视频数据在网络中是以包的形式传输的,而网络是动态变化的,各个数据包选择的路由可能不尽相同,到达客户端所需的时间也就不一样,有可能会出现先发的数据包却后到。因此,客户端如果按照包到达的次序播放数据,必然会得到不正确的结果。使用缓存机制就可以解决这个问题,客户端收到数据包后先缓存起来,播放器再从缓存中按次序读取数据。
使用缓存机制还可以解决停顿问题。网络由于某种原因经常会有一些突发流量,此时会造成暂时的拥塞,使流数据不能实时到达客户端,客户端的播放就会出现停顿。如果采用了缓存机制,暂时的网络阻塞并不会影响播放效果,因为播放器可以读取以前缓存的数据。等网络正常后,新的流数据将会继续添加到缓存中。
虽然音频或视频等流数据容量非常大,但播放流数据时所需的缓存容量并不需要很大,因为缓存可以使用环形链表结构来存储数据,已经播放的内容可以马上丢弃,缓存可以腾出空间用于存放后续尚未播放的内容。
当传输流数据时,需要使用合适的传输协议。TCP虽然是一种可靠的传输协议,但由于需要的开销较多,并不适合传输实时性要求很高的流数据。因此,在实际的流式传输方案中,TCP协议一般用来传输控制信息,而实时的音视频数据则是用效率更高的RTP/UDP等协议来传输。流媒体传输的基本原理如图23-1所示。
在图23-1中,Web服务器只是为用户提供了使用流媒体的操作界面。客户机上的用户在浏览器中选中播放某一流媒体资源后,Web服务器把有关这一资源的流媒体服务器地址、资源路径及编码类型等信息提供给客户端,于是客户端就启动了流媒体播放器,与流媒体服务器进行连接。
? (点击查看大图)图23-1? 流媒体传输原理 客户端的流媒体播放器与流媒体服务器之间交换控制信息时使用的是RTSP协议,它是基于TCP协议的一种应用层协议,默认使用的是554端口。RTSP协议提供了有关流媒体播放、快进、快倒、暂停及录制等操作的命令和方法。通过RTSP协议,客户端向服务器提出了播放某一流媒体资源的请求,服务器响应了这个请求后,就可以把流媒体数据传输给客户端了。
需要注意的是,RTSP协议并不具备传输流媒体数据的功能,承担流媒体数据传输任务的是另一种基于UDP的RTP协议,但在RTP协议传输流媒体数据的过程中,RTSP连接是一直存在的,并且控制着流媒体数据的传输。一旦流媒体数据到达了客户端,流媒体播放器就可以播放输出了。流媒体的数据和控制信息使用不同的协议和连接时,还可以带来一个好处,就是播放流媒体的客户机和控制流媒体播放的客户机可以是不同的计算机。23.1.2? 实时流媒体协议RTSP
RTSP(Real Time Streaming Protocol,实时流媒体协议)是由Real Network和Netscape共同提出的一种应用层协议,它定义了如何在IP网络上有效地传输流媒体数据。RTSP提供了一种机制,使音频、视频等数据可以按照需要进行实时传输,并且可以实施诸如暂停、快进等控制。源数据可以是存储的文件,也可以是现场数据的反馈。RTSP协议本身并不传输数据,数据的传输是通过基于UDP协议的RTP协议来完成的。
RTSP协议与HTTP协议有点类似,通信双方是通过请求消息和回应消息进行交互的。请求消息的格式如下:
请求方法??URI??RTSP版本?
[消息头] ?
CR/?LF ?
[消息体]?
其中,请求方法包括PLAY、DESCRIBE等,可以通过OPTION方法得到对方所支持的其他方法名称。URI是对方的地址,例如:rtsp://。RTSP版本一般都是RTSP/1.0。每一行的最后都是回车换行符CR/LF,消息头和消息体之间要有一个空行。回应消息格式如下:
RTSP版本?状态码?解释?
[消息头] ?
CR/LF ?
[消息体]?
回应消息的格式规定与请求消息类似。其中状态码是一个3位数,后面跟随着解释文本,例如,200表示成功。
HTTP协议是单向的,即只能是客户端提出请求,服务端给予回应,而使用RTSP时,客户机和服务器都可以发出请求,双方都可以对收到
文档评论(0)