文件网易视频云:流媒体服务器原理和架构解析

网易服务器  时间:2021-04-15  阅读:()

网易视频云流媒体服务器原理和架构解析

一个完整的多媒体文件是由音频和视频两部分组成的 H264、 Xvid等就是视频编码格式 MP3、 AAC等就是音频编码格式字幕文件只是附加文件。 目前大部分的播放器产品对于H.264+AAC的MP4编码格式支持最好但是MP4也有很多的缺点 比如视频header很大影响在线视频网站的初次加载时间。

为了降低头部体积需要进行视频本身的物理分段等等。对MPEG2-TS格式视频文件进行物理切片分成一小段这种方式被Apple公司的HTTP Live Streaming(HLS)技术采用。另外一种是使用Fragmented MP4文件格式这是一种文件内部的逻辑分割方式而视频文件还是完整的这种技术被Microsoft SmoothStreaming和Adobe HTTP Dynamic Streaming采用。很多在线视频网站在带宽耗费的压力下主要选择的是adobe公司提供的FLV或F4V FLV是流媒体封装格式可将其数据看为二进制字节流。总体上看FLV包括文件头File Header和文件体File Body两部分其中文件体由一系列的Tag及Tag Size对组成。流媒体传输类型

流媒体在播放前不是完全下载整个文件而是把开始部分内容存入内存数据流是随时传送随时播放。

流媒体服务器提供的流式传输方式有两种顺序流式传输和实时流式传输两种方式。

顺序流式传输是顺序下载在下载文件的同时用户可观看在线媒体。如果使用普通的HTTP服务器将音视频数据以从头至尾方式发送则为顺序流媒体传输。实时流式传输总是实时传送特别适合现场事件。一般来说如果视频为现场直播或使用专用的流媒体服务器或应用如RTSP等专用实时协议 即为实时流媒体传输。实时流式传输必须匹配连接带宽这意味着图像质量会因网络速度降低而变差。

在流式传输时流媒体数据具有实时性等时性等基本特点流服务期和客户终端要保证各种媒体间的同步关系因此流媒体传输对“最大延时”“延时抖动”

等QoS参数都有严格要求。

实时流传输既可传输实况直播也可传输完整的音视频文件专用协议流式。

顺序流媒体不可用于实况直播仅能传输完整的音视频文件HTTP渐进式。

主流的流媒体协议

主流的流媒体协议主要有 RTMP HLS RTSP等。

流媒体协议原理

(一) HTTP渐进式下载原理仅支持文件播放

HTTP边下载边播放严格意义上讲不是直播协议。他的原理是先下载文件的基本信息音频视频的时间戳再下载音视频数据以播放mp4为例先下载文件头根据文件头指引下载文件尾然后再下载文件的音视频数据。

播放方式浏览器调用系统播放器播放

使HTML5的Video标签浏览器支持直接播放。

(二) 苹果支持的HLS原理实况直播、文件点播

服务器端有三个组件

其一编码器media encoder ,用于将设备输出的格式转为H264和AAC并封装为MPEG-2传输流

其二流分段器stream segmenter ,用于实况直播将MPEG-2流分割为多个小片段后输出

其三文件分段器file segmenter ,用于文件点播将文件分隔为多个小片段后输出

分发原理

数据经以上三部分处理后为. ts文件媒体数据及.m3u8文件媒体数据索引存在于服务器之上。 客户端访问.m3u8后按索引下载. ts文件进行播放。

下面为某m3u8文件内容

#EXTM3U

#EXT-X-TARGETDURATION:30

#EXTINF:30,http://192. 169. 1. 176/sample_100k-1. ts

#EXTINF:30,http://192. 169. 1. 176/sample_100k-2. ts

#EXTINF:30,http://192. 169. 1. 176/sample_100k-3. ts

#EXT-X-ENDLIST

根据这个文件播放器会依次下载sample_100k-1. ts sample_100k-2. tssample_100k-3. ts

HLS的文件点播

1.使用苹果开发工具“文件分段器”将基于H264和AAC或MP3的MPEG4分段

生成. ts和.m3u8文件存储于普通服务器上。

2.苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引并下载所需要的数据片段来播放。

HLS的实况直播

1. 使用苹果开发工具“流分段器”将基于H264、 AAC、 MP3的MPEG2传输流分段

可使用其它工具将MPEG4音视频文件加载到MPEG2传输流当中。

生成. ts和.m3u8文件存储于普通服务器上。

2. 苹果应用程序或苹果浏览器可以通过访问.m3u8文件获取到索引并下载所需要的数据片段来播放。

(三) Adobe Flash支持的RTMP协议支持文件播放和实况直播

RTMP(Real Time Messaging Protocol)

是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。

它有四种变种

1) 工作在TCP之上的明文协议使用端口1935

2) RTMPS通过TLS/SSL连接

3) RTMPT封装在HTTP请求之中可穿越防火墙

4) RTMPS类似RTMPT但使用的是HTTPS连接

RTMP协议(Real Time Messaging Protocol)是被Flash用于对象,视频,音频的传输。这个协议建立在TCP协议或者轮询HTTP协议之上。 RTMP协议就像一个用来装数据包的容器,这些数据既可以是AMF格式的数据,也可以是FLV中的视/音频数据。一个单一的连接可以通过不同的通道传输多路网络流这些通道中的包都是按照固定大小的包传输的。

必须采用Flash服务器FMS(Flash Media Server)或RED5.

FMS的文件点播

1. 服务器将F4v或Flv文件转化为RTMP流或HTTP流

2. 客户端获取RTMP流提取相应的Flv或F4v文件片段进行播放。

1. 设备端将数据转化为F4v片段通过RTMP流上传到服务器

2. 服务器转发RTMP流到客户端

3. 客户端获取RTMP流提取数据片段播放。

(四) RTSP协议

该协议用于C/S模型是一个基于文本的协议用于在客户端和服务器端建立和

协商实时流会话。

实时流协议RTSP是应用级协议控制实时数据的发送。 RTSP提供了一个可扩展框架使实时数据如音频与视频的受控点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接为选择发送通道如UDP、组播UDP与TCP提供途径并为选择基于RTP上发送机制提供方法。

实时流协议RTSP建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交换是可能的通常它本身并不发送连续流。换言之 RTSP充当多媒体服务器的网络远程控制。 RTSP连接没有绑定到传输层连接如TCP。在RTSP连接期间 RTSP用户可打开或关闭多个对服务器的可传输连接以发出RTSP请求。此外可使用无连接传输协议如UDP。 RTSP流控制的流可能用到RTP但RTSP操作并不依赖用于携带连续媒体的传输机制。

协议支持的操作如下

(1从媒体服务器上检索媒体用户可通过HTTP或其它方法提交一个演示描述。如演示是组播演示式就包含用于连续媒体的的组播地址和端口。如演示仅通过单播发送给用户用户为了安全应提供目的地址。

(2媒体服务器邀请进入会议媒体服务器可被邀请参加正进行的会议或回放媒体或记录其中一部分或全部。这种模式在分布式教育应用上很有用会议中几方可轮流按远程控制按钮。

(3将媒体加到现成讲座中如服务器告诉用户可获得附加媒体内容对现场讲座显得尤其有用。如HTTP/1. 1中类似 RTSP请求可由代理、通道与缓存处理。下面区分几种操作模式。

(1单播用户选择的端口号将媒体发送到RTSP请求源。

(2服务器选择地址多播媒体服务器选择多播地址和端口这是现场直播或准点播常用的方式。

(3用户选择地址多播如服务器加入正在进行的多播会议多播地址、端口和密钥由会议描述给出。

RTSP控制通过单独协议发送的数据流与控制通道无关。例如 RTSP控制可通

过TCP连接而数据流通过UDP。因此即使媒体服务器没有收到请求数据也会继续发送。在连接生命期单个媒体流可通过不同TCP连接顺序发出请求来控制。所以服务器需要维持能联系流与RTSP请求的连接状态。 RTSP中很多方法与状态无关但下列方法在定义服务器流资源的分配与应用上起着重要的作用

(1) SETUP让服务器给流分配资源启动RTSP连接。

(2) PLAY与RECORD启动SETUP分配流的数据传输。

(3) PAUSE 临时停止流而不释放服务器资源。

(4) TEARDOWN释放流的资源 RTSP连接停止。

标识状态的RTSP方法使用连接头段识别RTSP连接为响应SETUP请求服务器连接产生连接标识。

RTSP为纯粹的传输控制协议。

RTSP协议本身不与它负载的媒体数据相关。

RTSP协议需要自定义客户端向服务器发送RTSP命令。

流媒体服务器的协议栈

在TCP IP参考模型中传输层通信协议TCP和UDP都不能满足流媒体传输的QoS要求。 由于TCP协议采用滑动窗口控制机制数据传送随着流控窗口动态的启动和关闭难以满足流媒体实时和等时的传送要求。 UDP协议的无连接特点能够提高传输速率虽然可以在某种程度上满足流媒体的实时性要求但是由于其本身的不可靠性也无法满足流媒体传输的需要。

针对传输层协议的矛盾为了实现流媒体在IP上的实时传送播放设计流媒体服务器时需要在传输层协议TCPUDP和应用层之间增加一个通信控制层。在增加的通信控制层采用相应的实时传输协议主要有数据流部分的实时传输协议RTP Realtime Transport Protocol用于控制部分的实时传输控制协议RTCP Realtime Control Protocol和实时流化协议RTSP RealtimeStreaming Protocol。

41云,服务器8折优惠券,200G TCP防御

41云怎么样?41云是国人主机品牌,目前经营产品有国内外云服务器、CDN(高防CDN)和物理机,其中国内外云服务器又细分小类有香港限流量VPS、香港大带宽VPS、香港弹性自选VPS、香港不限流VPS、香港BGP线路VPS、香港Cera+大带宽机器、美国超防VPS、韩国原生VPS、仁川原生VPS、日本CN2 VPS、枣庄高防VPS和金华高防VPS;物理机有美国Cera服务器、香港单程CN2服务器、香...

美国200G美国高防服务器16G,800元

美国高防服务器提速啦专业提供美国高防服务器,美国高防服务器租用,美国抗攻击服务器,高防御美国服务器租用等。我们的海外高防服务器带给您坚不可摧的DDoS防护,保障您的业务不受攻击影响。HostEase美国高防服务器位于加州和洛杉矶数据中心,均为国内访问速度最快最稳定的美国抗攻击机房,带给您快速的访问体验。我们的高防服务器配有最高层级的DDoS防护系统,每款抗攻击服务器均拥有免费DDoS防护额度,让您...

星梦云-100G高防4H4G21M月付仅99元,成都/雅安/德阳

商家介绍:星梦云怎么样,星梦云好不好,资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器,。活动优惠促销:1、成都电信夏日激情大宽带活动机(封锁UDP,不可解封):机房CPU内存硬盘带宽IP防护流量原价活动价开通方式成都电信优化线路2vCPU2G40G+60G21...

网易服务器为你推荐
支持ipad支持ipad联通版iphone4s怎么知道到苹果4s是联通版,还是移动版迅雷下载速度迅雷下载速度与什么有关?google分析谷歌的Search Console 和 Google Analytics有何区别迅雷雷鸟雷鸟手机谁用过性能怎样样?迅雷雷鸟迅雷app没有ios版本的吗?怎么回事苹果5.1.1越狱iphone5.1.1越狱老是越狱失败,说要抹掉数据,怎么抹掉数据不懂,接下来该怎么弄 求大神指教chrome18怎么关闭chrome的自动更新,稳定版要18了,mactype要悲剧了安卓4.4.4android 4.4.4通用包下载!
网站空间购买 warez google电话 enom kvmla lunarpages 免费主机 mediafire 美国便宜货网站 创宇云 免费网络电视 日本空间 免费个人空间申请 刀片服务器是什么 php空间推荐 hinet idc是什么 网络空间租赁 东莞服务器 shopex主机 更多