版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Netease视频云:流媒体服务器原理和体系结构分析完整的多媒体文件由音频和视频两部分组成。H264、Xvid等是视频编码格式,MP3、AAC等是音频编码格式,字幕文件只是附件。目前,大多数播放器产品最好支持H.264 AAC的MP4编码格式,但是MP4有很多缺点,如视频头,它会影响在线视频站点的初始加载时间。为了降低头部的体积,需要视频本身的物理片段等。Apple的http实时数据流(HLS)技术采用了这种方法,可以在物理上切片MPEG2-TS格式的视频文件,将其分成较小的片段。另一种是使用Fragmented MP4文件格式。此文件格式是Microsoft Smooth Streaming
2、和Adobe HTTP Dynamic Streaming采用的文件内部逻辑分区方法。许多在线视频网站由于带宽消耗压力而选择了主要由adobe提供的FLV或F4V,FLV是流媒体打包格式,允许以二进制字节流查看数据。通常,FLV由一系列Tag和Tag Size对组成的文件头和文件正文组成。流媒体传输类型流媒体不是在播放前完全下载整个文件,而是随时播放从头到尾将数据存储在内存中的数据流。流媒体服务器提供的流方法有两种:顺序流和实时流。顺序流式传输是一种顺序下载,允许用户在下载文件的同时查看联机媒体。使用常规HTTP服务器从头到尾传输音频和视频数据时顺序流媒体传输。实时流总是实时传送,特别适用于现
3、场事件。通常,如果视频是实时的、使用专用流媒体服务器或应用专用实时协议(如RTSP),则是实时流媒体传输。实时流必须与连接带宽匹配。也就是说,网络速度下降可能导致图像质量下降。流媒体数据在流时具有实时、等时性等基本特征,流媒体服务期间和客户终端必须保证各种媒体之间的同步关系,因此流媒体传输对QoS参数(如“最大延迟”、“延迟抖动”)有严格的要求。实时流可以传输实时和完整的音频和视频文件(专用协议流)。顺序流媒体不能用于实时广播,只能传输整个音频和视频文件(HTTP渐进式)。区分实时流顺序流音频和视频数据源实时采集录像设备或(使用专用协议传输的)文件可播放的音频和视频文件服务器类型专用流媒体服务
4、器,包括:QuickTime Streaming ServerReal ServerWindows Media ServerFlash Media Server一般HTTP伺服器、或FTP服务器传输协议专用协议RTSP、HLS或RTMP等一般HTTP通讯协定、与传输网页的协议相同广播随机存取随机片段在给定的时间点,用户只能查看下载的部分,而不能查看尚未下载的部分主流流媒体协议主要流媒体协议包括RTMP、HLS、RTSP等。区分RTMPHLSRTSP全名Real Time Message ProtocolHttp实时流Real Time Streaming Protocol上级的协议TCP或HT
5、TPHTTPRTP、RTCP软件模型CSBSCS研究和开发主要是Adobe苹果微软对于客户端Flash类产品支持的浏览器支持HTML5的浏览器苹果的野生动物园浏览器支持HTML5的浏览器播放器视频格式要求FLV、F4VMP4无服务器要求专用Flash服务器Flash Media ServerRed5一般HTTP伺服器专用RTSP流媒体服务器实况现场直播要求专用编码器上传Flash Media Encoder专用编码器上传Apple开发工具与服务器相关自定义上载文件回放要求FLV、F4V文件、服务器将自动分解为F4f数据文件F4x索引文件终端服务数据文件、M3u8索引文件与服务器相关与玩家有关流
6、媒体协议原理(a) HTTP渐进式下载原理(仅支持文件播放)下载HTTP的同时播放严格来说不是直播协议。其原则是下载文件标题、文件结尾、音频视频的时间戳、音频和视频数据下载、MP4播放等。播放方法:播放浏览器调用系统播放器;创建支持直接在浏览器中播放的HTML5的Video标签。(b)苹果支持的HLS原理(现场直播,按需文档)服务器端有三个组件:一个是编码器(media encoder),它将设备输出格式转换为H264和AAC,并封装在MPEG-2传输流中。第二:将MPEG-2流分成多个小片段后输出的流seger;第三,用于按需文件(按需)的文件服务器将文件分成多个小块,然后输出。部署原则数据
7、是。ts文件(介质数据)和。m3u8文件(介质数据索引)的三个部分存在于服务器上。客户端。访问m3u8,然后按索引。下载并播放ts文件。M3u8文件的内容如下:#EXTM3U# EXT-X # EXT-X-target duration 336030# ext INF 333630,http:/192 . 169 . 1 . 176/sample _ 100k-1 . ts# ext INF 333630,http:/192 . 169 . 1 . 176/sample _ 100k-2 . ts# ext INF 333630,http:/192 . 169 . 1 . 176/sample
8、 _ 100k-3 . ts#EXT-X-ENDLIST根据该文件,播放器依次下载sample_100k-1.ts、sample_100k-2.ts和sample_100k-3.tsHLS中的按需文档1.使用apple开发工具file segments对基于H264和AAC或MP3的MPEG4进行分段。.终端服务和。创建m3u8文件并将其保存到普通服务器。2.apple应用程序或apple浏览器可以。访问m3u8文件以获取索引,并下载和播放所需的数据片段。HLS实时1.使用apple开发工具stream segments将基于H264、AAC和MP3的MPEG2传输流分段。您可以使用其他工具将
9、MPEG4音频和视频文件加载到MPEG2传输流中。.终端服务和。创建m3u8文件并将其保存到普通服务器。2.apple应用程序或apple浏览器可以。访问m3u8文件以获取索引,并下载和播放所需的数据片段。(c) Adobe Flash支持的RTMP协议(支持文件播放和实时)实时消息传递协议(RTMP)是由Adobe Systems开发的开放协议,用于在Flash播放器和服务器之间传输音频、视频和数据。有四种变体:1)使用端口1935在TCP上工作的纯文本协议;2) rtmp通过TLS/SSL连接。3) rtmp封装在HTTP请求中,可以通过防火墙。4) rtmp类似于rtmp,但使用HTTP
10、S连接。实时消息协议(Protocol)在Flash中用于对象、视频和音频传输。此协议构建在TCP协议或轮询HTTP协议之上。RTMP协议相当于用于容纳可能是AMF格式数据或FLV中视频/音频数据的数据包的容器。单个连接可以通过多个通道传输基于固定大小数据包传输的多通道网络流。需要Flash服务器Flash Media Server(FMS)或RED5。FMS的按需文件1.服务器将F4v或Flv文件转换为RTMP流或HTTP流2.客户端导入RTMP流并提取相应的Flv或F4v文件片段进行播放。FMS现场直播1.设备端数据将转换为F4v片段,并通过RTMP流上载到服务器2.服务器将RTMP传递给
11、客户端3.客户端导入RTMP流并提取数据剪辑回放。(d) RTSP协议它用于C/S模型,是基于文本的协议,用于在客户端和服务器端建立和协商实时流会话。实时流协议(RTSP)是控制实时数据传输的应用级别协议。RTSP提供可扩展的框架,以实现实时数据,如音频和视频的受控视频点播。数据源包含字段数据和剪辑中存储的数据。此协议的目的是控制多个数据传输连接,提供选择UDP、多播UDP和TCP等传输通道的路径,并提供选择基于RTP的传输机制的方法。实时数据流协议(RTSP)设置和控制一个或多个时间同步的连续流媒体。可以与连续媒体流交换控制流,但通常不发送连续流本身。也就是说,RTSP充当多媒体服务器的网络
12、远程控制。RTSP连接不绑定到传输层连接,如TCP。在RTSP连接过程中,RTSP用户可以通过打开或关闭多个可传输服务器连接来发出RTSP请求。您还可以使用UDP等无连接传输协议。RTSP流控制的流可以使用RTP,但RTSP操作不依赖于用于携带连续介质的传输机制。协议支持以下操作:(1)从媒体服务器扫描媒体:用户可以通过HTTP或其他方法提交演示说明。如果演示是多播,则演示包括用于连续介质的多播地址和端口。如果演示仅通过单播发送给用户,用户必须提供目标地址以确保安全。(2)媒体服务器将被邀请参加会议。媒体服务器可以被邀请参加进行中的会议,播放媒体,只记录部分或全部记录。此模式在分布式培训应用程
13、序中很有用,在会议期间只能按几次远程控制按钮。(3)将媒体添加到开箱即用的讲座中:如果服务器告诉用户提供其他媒体内容,则对于现场讲座尤其有用。与HTTP/1.1一样,RTSP请求可以通过代理、通道和缓存处理。以下是一些操作模式的区分:(1)单播:用户选择的端口号将媒体发送到RTSP请求源。(2)服务器选择地址多播:介质服务器选择多播地址和端口,这通常用于实时或按需方式。(3)用户选择地址多播:当服务器参与正在进行的多播会议时,将根据会议说明提供多播地址、端口和密钥。RTSP控制通过单独的协议传输的数据流,与控制通道无关。例如,RTSP控制可以通过TCP连接,数据流通过UDP。因此,即使媒体服务
14、器未收到请求,数据也将继续发送。在连接寿命期间,单个媒体流可以通过其他TCP连接顺序发出请求来控制。因此,服务器必须与RTSP请求保持连接。RTSP中的许多方法与状态无关,但以下方法在定义和应用服务器流资源分配方面起着重要作用:(1) SETUP:服务器将资源分配给流并启动RTSP连接。(2) PLAY和RECORD:启动到SETUP分配流的数据传输。(3) PAUSE:暂时停止流,但不释放服务器资源。(4) TEARDOWN:释放流的资源,RTSP连接停止。标识状态的RTSP方法使用连接器段标识RTSP连接,并在服务器连接中生成连接id以响应SETUP请求。RTSP是纯传输控制协议。RTSP
15、协议本身与加载的媒体数据无关。RTSP协议要求自定义客户端向服务器发送RTSP命令。流媒体服务器的协议栈在TCP/IP参考模型中,传输层通信协议TCP和UDP都不能满足流媒体传输的QoS要求。TCP协议使用滑动窗口控制机制,因此流媒体实时和流媒体等传输要求在流控制窗口动态启动和关闭时很困难。UDP协议的断开功能可以提高传输速度,在一定程度上满足流媒体的实时要求,但其本身的可靠性不能满足流媒体传输的要求。对于传输层协议,需要在传输层协议(TCP/UDP)和应用层之间添加通信控制层,以便设计流媒体服务器,以便在IP中实时播放流媒体的传输。在增加的通信控制层中,主要是数据流部分的实时传输协议实时传输
16、协议(RTCP)、控制部分的实时传输控制协议实时传输控制协议(RTCP)和实时流协议实时流协议流媒体服务器的协议栈,如图1所示。RTP协议主要用于传输实时流媒体信息,数据报主要包括多媒体数据、传输负载的时间戳和序列号。RTCP协议数据报包括接收方从多媒体流接收服务质量信息(Qos),以便对服务器端进行反馈。RTSP是控制协议,包含对从服务器传输的多媒体数据(包括通信连接前设置)的控制。用于控制实时数据传输。提供对流媒体(如播放、暂停、快进、录制等)的类似视频芯片组记录(VCR)的控制。也就是说,RTSP实现了多媒体服务器的网络远程控制。图2所示的流媒体服务器的框图。当服务器收到RTSP请求时,它首先创建RTSP请求对象。服务器通过RTSP协议的响应信息以流会话格式描述请求的内容,该格式包括数据流中包含的流数、媒体类型和编解码器格式。一个流会话由一个或多个数据流(如视频流或音频流)组成。实际数据流通过RTP协议传递到客户端。RTP在一对一或一对多传输中工作,目的是提供时间信息并实现流同步。RTP本身不为顺序传输包提供可靠的传输机制,而是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026毕节幼儿面试题目及答案
- 2026北清附小面试题目及答案
- 2025年中国球袋市场调查研究报告
- 2025年中国燃气壁挂炉市场调查研究报告
- 2025年中国混纺亚麻布市场调查研究报告
- 2025年中国泡棉贴市场调查研究报告
- 2025年中国棉麻毛衫市场调查研究报告
- 2025年中国切管刀市场调查研究报告
- 2026版高考语文总复习讲义检测练(五) 叙述特征的总综合考查
- 肿瘤患者骨髓抑制的护理
- 2025年中铁集团招聘笔试参考题库含答案解析
- 【MOOC】国际交流英文演讲与辩论-湖南大学 中国大学慕课MOOC答案
- 中央空调系统维保服务报价清单
- 《汉书》导读学习通超星期末考试答案章节答案2024年
- 2024厦门中考化学真题及答案
- 金版教程物理2024导学案必修第册人教版新第十章 静电场中的能量第十章 知识网络构建含答案
- 急性呼吸窘迫综合征-课件
- 天津普通高中会考化学试卷及答案
- 小学数学六年级上册《比》作业设计
- 全国专利代理师资格考试专利法律知识专项考试试题
- 江苏开放大学2024年春《领导科学与艺术 050013》实践性环节考核作业占形考成绩的30%参考答案
评论
0/150
提交评论