HTTP Live Streaming伪直播的设计与实现

HTTPLiveStreaming伪直播的设计与实现李志昂,马跃**(北京邮电大学计算机学院,北京100876)510152025303540摘要:HTTPLiveStreaming是由Apple公司提出的新一代的移动流媒体传输协议,通过普通的HTTPServer向客户端提供接近实时的流媒体服务,在移动终端的视频分发领域应用较为广泛。本文描述了HTTPLiveStreaming协议直播会话中服务器与客户端的交互过程,并结合ApacheHTTPServer的动态页面生成能力,提出了一种简单实用的HTTPLiveStreaming伪直播的实现方法。关键词:计算机科学与技术;移动流媒体;HTTPLiveStreaming;伪直播中图分类号:TP37ThedesignandimplementationofHTTPLiveStreamingpseudoLiveLIZhiang,MAYue(Schoolofcomputer,BeijingUniversityofPostsandTelecommunications,Beijing100876)Abstract:HTTPLiveStreamingisanewgenerationofmobilestreamingmediatransmissionprotocolputforwardbyApplecompany,providingnearreal-timestreamingservicetoclientsthroughthecommonHTTPServer,whichhasbeenwidelyappliedinthefieldofmobilevideodistribution.ThispaperdescribestheinteractionofServerandclientinthelivesessionoftheHTTPLiveStreamingprotocol,Afterthat,theauthorproposesasimplebutpracticalmethodformakingupHTTPLiveStreamingpseudolive,combinedwiththeApacheHTTPServerdynamicpagegenerationability.Keywords:ComputerScienceandTechnology;Mobilestreamingmedia;HTTPLiveStreaming;Pseudolive0引言HTTPLiveStreaming[1]是Apple公司于2009年提出的新一代移动流媒体服务解决方案,该方案的设计目标主要是通过普通的Web服务器将直播或点播内容推送至Apple的终端设备,如iPhone、iPad以及Mac。Apple公司在2009年发布的iPhone3.0中首次使用了该技术,并于同年的五月份将这项技术规范提交至IETF组织讨论,目前这项技术规范还处在标准的草案阶段,最新的草案标准为HTTPLiveStreamingdraft-pantos-http-live-streaming-11[2]。截至目前,许多主流的streamserver厂商都在自己的产品中增加了对HLS的支持,如HelixUniversalServer,VLCMediaPlayer,AdobeFlashMediaServer,WowzaMediaServer。另外Google在Android3.0中,HP在webOS3.0.5中都增加了对HLS的支持。本文通过对HLS直播会话中服务器与客户端的交互过程进行分析,然后借助于ApacheHTTP服务器的动态页面生成能力,提出了一种新的HLS伪直播的设计方案及实现方法。可以在缺乏实际HLS流媒体服务器的情况下,实现对HLS客户端功能的验证。1实现HLS伪直播所需的各种技术规范1.1HLS滑动窗口播放列表服务器随时间推移顺序生成一系列时间连续、长度均等的小TS文件,并依次发送至作者简介:李志昂,(1989-),男,硕士研究生,主要研究方向:计算机网络与多媒体通信。通信联系人:马跃,男,副教授,主要研究方向:计算机网络、虚拟路由器技术。mayue@bupt.edu.cn-1-HTTP服务器进行存储。若服务器还对其生成的每个小TS文件进行了加密处理,则还会生成相应的密钥文件,同样也存储于HTTP服务器中。与此同时,为了跟踪播放过程中TS文件的可用性和当前位置,服务器还需要创建一个含有指向这些小TS文件及其秘钥文件URI455055606570的索引文件,同样放置于HTTP服务器之中。这个索引文件[3]可以看作是一个连续媒体流中的播放列表的滑动窗口,每当服务器生成一个新的TS文件时,这个索引文件的内容也被更新,新的文件URI被加入到滑动窗口的末尾,老的文件URI则被移去,这样索引文件中将始终包含最新的固定数量的x个分段,如图1所示。每次当客户端对该直播进行请求时,服务器将最新的索引文件发送给客户端,客户端根据索引文件中标示的TSURI依次进行播放,从而达到媒体流的播放效果[4]。当滑动窗口播放列表更新时,即有新的TSURI添加,旧的TSURI被移除时,播放列表中的EXT-X-MEDIA-SEQUENCE标签值要增1[1]。若TS文件经过了AES-128加密处理,则必须要生成与加密TS文件对应的解密秘钥文件,并将其URI连同TSURI一并写入滑动窗口播放列表中。秘钥文件的URI用标签EXT-X-KEY进行特殊标示,客户端在解析到该标示时,就会先下载指...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?