欢迎来到天天文库
浏览记录
ID:1338049
大小:1011.56 KB
页数:21页
时间:2017-11-10
《网易视频云:流媒体服务器原理和架构解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、vcloud.163.com网易视频云:流媒体服务器原理和架构解析一个完整的多媒体文件是由音频和视频两部分组成的,H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式,字幕文件只是附加文件。目前大部分的播放器产品对于H.264+AAC的MP4编码格式支持最好,但是MP4也有很多的缺点,比如视频header很大,影响在线视频网站的初次加载时间。为了降低头部体积,需要进行视频本身的物理分段等等。对MPEG2-TS格式视频文件进行物理切片,分成一小段,这种方式被Apple公司的HTTPLiveStreaming(HLS)技术采用。另外一
2、种是使用FragmentedMP4文件格式,这是一种文件内部的逻辑分割方式,而视频文件还是完整的,这种技术被 MicrosoftSmoothStreaming和AdobeHTTPDynamicStreaming采用。很多在线视频网站在带宽耗费的压力下,主要选择的是adobe公司提供的FLV或F4V,FLV是流媒体封装格式,可将其数据看为二进制字节流。总体上看,FLV包括文件头(FileHeader)和文件体(FileBody)两部分,其中文件体由一系列的Tag及TagSize对组成。流媒体传输类型流媒体在播放前不是完全下载整个文件,而是把开始部分内
3、容存入内存,数据流是随时传送随时播放。流媒体服务器提供的流式传输方式有两种:顺序流式传输和实时流式传输 两种方式。顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体。如果使用普通的HTTP服务器,将音视频数据以从头至尾方式发送,则为顺序流媒体传输。实时流式传输总是实时传送,特别适合现场事件。一般来说,如果视频为现场直播,或使用专用的流媒体服务器,或应用如RTSP等专用实时协议,即为实时流媒体传输。实时流式传输必须匹配连接带宽,这意味着图像质量会因网络速度降低而变差。在流式传输时,流媒体数据具有实时性,等时性等基本特点,流服务期和客户终vcl
4、oud.163.com端要保证各种媒体间的同步关系,因此,流媒体传输对“最大延时”,“延时抖动”等QoS参数都有严格要求。实时流传输既可传输实况直播,也可传输完整的音视频文件(专用协议流式)。 顺序流媒体不可用于实况直播,仅能传输完整的音视频文件(HTTP渐进式)。 区别实时流顺序流音视频数据源实时从录制设备上采集,或(使用专用协议传输的)文件可播放的音视频文件服务器类型专用流媒体服务器,如:QuickTimeStreamingServerRealServerWindowsMediaServerFlashMediaServer普通的HTTP
5、服务器,或FTP服务器传输协议专用协议RTSP,HLS或RTMP等一般的HTTP协议,与传输网页的协议相同跳播可随机访问任意片段在给定时刻,用户只能观看已下载的那部分,而不能跳到还未下载的部分 主流的流媒体协议主流的流媒体协议主要有: RTMP, HLS, RTSP等。 区别RTMPHLSRTSP全称RealTimeMessageHttpLiveStreamRealTimevcloud.163.comProtocolStreamingProtocol上层协议TCP或HTTPHTTPRTP,RTCP软件模型CSBSCS研发主要来自AdobeAp
6、pleMicrosoft针对客户端支持Flash类产品的浏览器支持HTML5的浏览器苹果的Safari浏览器支持HTML5的浏览器播放器视频格式要求FLV, F4VMP4无服务器要求专用Flash服务器FlashMediaServerRed5普通HTTP服务器专用RTSP流媒体服务器实况直播要求专用编码器上传FlashMediaEncoder专用编码器上传Apple开发工具与服务器相关,自定义上传文件播放要求FLV ,F4V文件即可,服务器会自动分解为F4f 数据文件f4x索引文件TS数据文件,M3u8索引文件与服务器相关,与播放器相关 流媒体协议
7、原理(一) HTTP渐进式下载原理(仅支持文件播放)vcloud.163.comHTTP边下载边播放,严格意义上讲,不是直播协议。他的原理是先下载文件的基本信息,音频视频的时间戳,再下载音视频数据,以播放mp4为例,先下载文件头,根据文件头指引下载文件尾,然后再下载文件的音视频数据。播放方式:浏览器调用系统播放器播放; 使HTML5的Video标签,浏览器支持直接播放。 (二) 苹果支持的HLS原理(实况直播、文件点播) 服务器端有三个组件:其一:编码器(mediaencoder), 用于将设备输出的格式转为H264和AAC,
8、并封装为MPEG-2传输流;其二:流分段器(streamsegmenter), 用于实况直播,将MPEG-2流分割为多个小
此文档下载收益归作者所有