APP下载

HLS直播流媒体传输系统的冗余优化

2014-07-02徐祥男罗淑贞耿恒山耿跃华

电视技术 2014年16期
关键词:网络带宽视频流序列号

徐祥男,富 坤,罗淑贞,耿恒山,耿跃华

(河北工业大学 a.计算机科学与软件学院;b.电气工程学院,天津 300130)

HLS直播流媒体传输系统的冗余优化

徐祥男a,富 坤a,罗淑贞a,耿恒山a,耿跃华b

(河北工业大学 a.计算机科学与软件学院;b.电气工程学院,天津 300130)

对HTTP Live Streaming深入研究之后,发现该协议在直播流媒体传输过程中存在视频流索引文件重复传送的问题。详细阐述了服务器与客户端之间的交互过程,并通过对网络监控软件的使用,检测到交互过程中服务器传输给客户端的视频流索引文件存在较大的冗余,造成网络带宽开销增大。提出一种可行的改进方案,在.m3u8文件中添加一个#EXT-X-MEDIA-SEQUENCE-LAST标签,并使服务器和客户端都对该标签进行识别。通过对网络占用率的对比分析,改进后的方案对网络带宽的占用率明显减小,进而验证了该改进方案的可行性。

HLS;视频流;索引文件;标签;网络带宽;占用率

1 HTTP Live Streaming典型结构

HTTP Live Streaming protocol是由苹果公司提出的基于HTTP的流媒体协议。HTTP Live Streaming媒体系统典型结构如图1所示。包括流媒体准备服务器、流媒体分发服务器和客户端3个部分[1]。流媒体准备服务器包括编码器和流分割器两个主要部分,编码器连接的是音视频采集设备,编码器将输入的媒体数字化并编码为H.264视频和ACC音频格式,然后再封装成为符合MPEG-2系统层标准的传输流(TS)格式进行输出。流媒体分发服务器既可以是一般的Web服务器,也可以是一个Web缓存系统,其供HTTP客户端下载媒体索引文件和视频流片段[2]。一般来说,索引文件采用.m3u8文件格式规范。客户端通过访问Web服务器来获取和下载一个流媒体的.m3u8文件,当客户端下载一定数量的媒体文件后,将它们按下载的顺序拼成一个TS视频流,然后送至播放器进行解码和呈现[3]。但是在直播的情况下,为了满足客户端进行一定时间的时移观看功能,服务器与客户端的交互过程中会有视频流索引文件重复传送的问题[4]。

图1 直播流媒体系统结构

2 HTTP Live Streaming在直播传输过程中存在的问题

在网络带宽波动的情况下,如果服务器还是向客户端发送单一码率的流媒体文件,则可能出现卡顿的现象,这就产生了网络自适应的解决方法。网络自适应是指流媒体准备服务器中的编码器会把采集到的同一视频编码生成不同码率的替换流和相对应的索引文件[5]。在主索引文件中包含了指向不同替换流的索引文件的URI指针。服务器与客户端的交互过程如图2所示(客户端指向服务器的箭头表示客户端请求过程,服务器指向客户端的箭头表示服务器回应客户端的过程,下同)。

图2 服务器与客户端交互过程

假设规定进行时移的时间是2 h,那么直播的缓存就要储存2 h的视频流片段索引文件,并且如果流分割器是分割成10 s一个的视频流片段,其个数k为720,以此类推,如果分割成2 s或是5 s一个的视频流片段,那么k的值分别为3 600和1 440。由此看出索引文件的个数是很多的,很容易产生重复传送。每当当前视频流片段即将播放完毕时,客户端会向服务器申请下一个视频流片段,用网络监测软件监测客户端与服务器对于某一个视频流的交互过程,如图3所示。将图4中的.m3u8索引文件打开,里面的内容如图5所示。

图3 监测的交互过程图(截图)

图4 索引文件内容(截图)

图5 监测的交互过程(截图)

再用网络监测软件监测下一个视频流片段,观看客户端与服务器之间的交互过程,如图5所示。再把图5中的.m3u8索引文件打开,可以看到该索引文件包含的内容如图6所示。

从图4可以看出,索引文件的序列号是从26 318到26 511,而从图6可以看出索引文件的序列号是从26 320到27 038,说明有很多的索引文件是重复传送的,这样会导致服务器负载增加,还会占用网络带宽。下面提出一种行之有效的解决方法。

图6 索引文件内容(截图)

3 视频流索引文件重复传送改进方案

可以在.m3u8文件内添加一个标签,用于标记接收到的索引文件中最后一个视频流片段,用#EXT-X-MEDIA-SEQUENCE-LAST标记,每次客户端都会把接收到的索引文件的最后一个视频流片段的序号赋值给#EXT-X-MEDIA-SEQUENCE-LAST[8]。当客户端再次向服务器发送请求时,服务器分析.m3u8文件的内容,会将#EXT-X-MEDIA-SEQUENCE-LAST标记的视频流片段及其之后的索引文件发送给客户端,这样只重复发送用#EXT-X-MEDIA-SEQUENCE-LAST标记的那个视频流片段,减少了重复发送的问题。在此要重点说明一下,特别是广域网,由于网络线路的不同,服务器发送的视频流片段不一定最后一个到达,有可能比它前面序号的视频流片段先到达客户端。也就是说,本来服务器已经发送了N片视频流,很可能客户端接收到了第N片以后才收到第N-1或N-2片或是更前的片段。但这不会对本设计有影响,因为客户端会在播放当前视频流片段的同时或是更早就去申请下一次的视频流,这个时间差足够发送完所有的视频流片段,并且客户端把这些片段按顺序排好,并标记完最后一个视频流片段。所以不存在上述由于网络路线的不同而导致的问题。这里重复发送#EXT-X-MEDIA-SE⁃QUENCE-LAST标记的视频流片段可以保证在索引文件目录没有更新的情况下,服务器依然可以回应客户端的请求。改进后的交互过程示意图如图7所示。

4 改善前后对网络带宽的影响

利用网络带宽检测软件network monitor对服务器与客户端的交互过程进行监测,图3、图5、图8均是利用该软件检测得到的。

4.1 改善前对网络的影响

当播放视频文件时,通常都是以高带宽进行传输,其带宽被浪费的公式为

图7 改进后的交互过程

图8 改进后服务器回应的.m3u8索引文件(截图)

式中:p表示带宽的浪费率,以图5为例来计算,从图9可知,传输一个.m3u8索引文件的内容大小是1 448。

图9 .m3u8索引文件的内容(截图)

那么传输过来的.m3u8文件有4个,而传输过来的序列号为26 789的视频流总共210个,且每个大小为1 452,如图10所示,故该序列号的视频流总大小为1 448×210,故

图10 视频流片段内容(截图)

从式(2)中可以看出,带宽的占用率只和传输的.m3u8的个数和传输的视频流总的个数有关,与每次传输的大小无关。在采集了多次数据,经过大量的实验后,改变时移时间或者是一个视频流片段时,在计算了多次的基础上得出带宽的浪费率约为1.1%~6.0%,严重占用了带宽。

4.2 改善后对带宽的影响

以图5为例,服务器回应的.m3u8索引文件的具体内容是从序列号为26 318到26 511的.ts视频流索引,当服务器向客户端传送序列号为26 343的视频流片段之后,为了下载下一个序列号为26 344的视频流片段,客户端向服务器再次发出申请,申请新的.m3u8索引文件,当实施这个改进方案之后,更新后的.m3u8索引文件的具体内容如图11所示。

图11 更新的.m3u8文件的内容(截图)

表1 改善前后带宽的浪费率

从表1可以看出,在未改善的情况下,当时移时间短、视频流片段短的时候,带宽的浪费率还不高,但是系统一般不会设置太短的时移时间和视频流片段,否则会增加成本和复杂度,随着时移时间和视频流片段时间的增长,带宽的浪费问题会越来越严重,带宽的浪费率增加,降低了效率,严重影响了其性能。从改善后的数据可以看出,带宽浪费率约为未改善时的1/10,可以说是对带宽的浪费率有了明显的改善。

5 结语

针对冗余问题提出来的解决方案有所不足,当进行直播时,若网络状态极其不好,可能会出现视频流片段没有被完全下载。但是出现这种情况的概率还是很小的,因为正如前文所述,流媒体准备服务器中的编码器会把采集到的同一视频编码成不同码率的替换流并生成相对应的索引文件,在主索引文件中包含了指向不同替换流的索引文件的URI指针。在网络带宽波动的情况下,服务器会根据网络情况向客户端发送合适码率的流媒体文件,但这种情况发生的概率很小。综合实验结果可以看出这个方案还是非常有可行性的,将有很广泛的应用前景。

[1]霍龙社,甘震.移动流媒体协议综述[J].信息通信技术,2010(4)∶6-13.

[2] 吕鹍,郝敏.流媒体中间件在Linux下的设计与实现[J].电视技术,2014,38(5):77-80.

[3] 许雪松,杨明极,李天池.基于流媒体技术的移动视频服务器的设计[J].电视技术,2013,37(17):167-169.

[4] Method and apparatus for dynamically generating media sequenc⁃es on demand for http live streaming:US,US201229068 [P].2012-11-15.

[5]尹浩,林闯,文浩,等.大规模流媒体应用中关键技术的研究[J].计算机学报,2008(5):755-774.

[6] 李鸣.多媒体有线电视网络应用研究[J].华侨大学学报:自然科学版,2000,21(1):96-100.

[7]李云飞,谢伟凯,鲁晨平.面向直播HTTP Streaming系统的HTTP缓存服务器行为优化[J].计算机工程与应用,2012(10):68-74.

徐祥男(1990—),硕士生,主研计算机网络、流媒体传输;

富 坤(1979—),女,博士,讲师,主要研究方向为可重构计算、计算机系统结构;

罗淑贞(1990—),女,硕士生,主要研究方向为计算机网络、流媒体传输;

耿恒山(1952—),教授,研究生导师,主研计算机网络、自动控制、多媒体传输;

耿跃华(1978—),女,硕士,主研计算机网络、电磁原理。

Redundancy Optim ization in Live Stream ing Transm ission System

XU Xiangnana,FU Kuna,LUO Shuzhena,GENG Hengshana,GENG Yuehuab
(a.School of Computer Science and Engineering;b.School of Electrical Engineering,Hebei University of Technology,Tianjin 300130,China)

After in-depth study on the HLS,it is found that HLS has the problem in the video streaming transmitted repeatedly aspect of the index file in live streaming process.Specifically addressed the interaction process between the server and the client,for using network monitoring software,video streaming index files are detected that there is a large redundancy when the server transmits to the client in the interactive process,resulting in the increased network bandwidth overhead.A viable improvement program is proposed,to add a#EXT-X-MEDIA-SEQUENCE-LAST tag in the.m3u8 file,making the label identified by the server and the client.Through comparative analysis,the occupancy rate of the network bandwidth,the occupancy rate of the network bandwidth are significantly reduced in the improved program,verify the feasibility of the improved program.

HLS;video streaming;index files;tag;network bandwidth;occupancy ratio

TN949.6

B

�� 盈

2014-03-08

【本文献信息】徐祥男,富坤,罗淑贞,等.HLS直播流媒体传输系统的冗余优化[J].电视技术,2014,38(16).

国家自然科学基金项目(31100711);河北省高等学校科学技术研究青年基金项目(20111122);河北省交通运输厅科学技术项目(Y2011087)

猜你喜欢

网络带宽视频流序列号
边缘实时视频流分析系统配置动态调整算法研究
一种离线电子钱包交易的双向容错控制方法
基于视频流传输中的拥塞控制研究
关于《国家税务总局 工业和信息化部关于加强车辆配置序列号管理有关事项的公告》的解读
recALL
如何提升高带宽用户的感知度
铁路货场智能大门集装箱全景图像采集方法研究
合理配置QoS改善校园网络环境
浅析泰州电视台超大型高清非编网建设
美国视频流市场首现饱和征兆