`
david_je
  • 浏览: 369585 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HTTP LIVE STREAMING的介绍(一)

 
阅读更多
  
          接触HLS已经有大半年时间了,这里我将总结一下这段时间对HLS的理解和应用。HLS是HTTP Live Streaming的缩写。它是苹果公司实现的基于HTTP的流媒体传输协议,可以实现流媒体的直播和点播,也就是我们常说的Live和VOD。最先开始主要应用于iOS系统,为iOS设备(iPhone,iPad)提供视频直播和点播方案,现在在大多数的移动设备也实现了这个功能。HLS的点播,是将常见的分段HTTP点播,不同的是,他的分段非常小。实现的重点在于对媒体文件的分割,目前有很多开源工具。

          相对于其他的流媒体直播协议,HLS最大的不同在于,客户端获取到的,并不是一个完整的数据流,而是一段一段的切片TS。HLS协议在服务端将直播数据存储为连续的,一定时长的媒体文件,codec为MPEG-TS,客户端再按照playlist去在下载并播放这些文件,从而达到直播或者点播功能。HLS由于采取HTTP协议传输文件,所以不用考虑防火墙或者代理的问题,因为一般的主机80端口应该是开放的。还有一个优点在于,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放,也就是常说的Adaptive Streaming。


          搭建HLS server的环境也很简单,在工作中,我是用的是Envivio的编码器,可以通过接收网络广播,cable和直接读取文件的方式去获取source,转码产生HLS的Segments和对应的Playlist文件。使用的HTTP服务器是Apache HTTP server,只要配置好WebDav的服务,Envivio编码器就可以讲生成的TS文件上传到HTTP server上发布。客户端使用支持HLS协议的播放器,直接转到HTTP的地址就可以播放HLS了。

          HLS的协议在http://tools.ietf.org/html/draft-pantos-http-live-streaming-07
     
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics