HLS(Http Live Streaming)与MPEG DASH

Jay*_*Kim 2 format streaming http-live-streaming mpeg-dash

我试图找到HLS and DASH两种广泛使用的流格式之间的差异.

通过我的研究,我看了一下展示自适应流媒体特征比较的图像.

我不确定HTML5支持.
MPEG-DASH支持HTML5的唯一流格式
或下面的图片是一种古老的功能比较的?

用于自适应流功能比较的图像

Chr*_*ler 5

最重要的区别可能是MPEG-DASH是由ISO/IEC MPEG批准的独立于供应商的国际标准.以前的自适应流技术 - 例如Apple HLS--已经由供应商发布,对公司独立的流媒体服务器以及回放客户端的支持有限.

MPEG-DASH允许使用HTML5进行原生播放,因为主要使用fMP4容器,但最近Apple还在WWDC16上添加了对fMP4的支持.然而,HLS主要使用和支持MPEG2-TS,它不能用HTML5本地播放.有些解决方案可以将JavaScript中的MPEG2-TS段转换为fMP4,从而允许本机播放.这些玩家包括开源的hls.jsBitmovin Player等商业玩家.

如果您想使用DRM,DASH具有更多优势,因为MPEG-CENC与此标准很好地集成.其他事情包括通过SegmentTemplate进行更紧凑的清单(在HLS中,每个段都需要描述一个URL),这允许指定段URL生成机制.较小的DASH清单会影响启动延迟.DASH指定的其他内容是如何使用BaseURL进行故障转移,允许您在几个不同的位置托管您的内容等等.

但是,HLS也被广泛使用,并且它不是那么复杂和易于实现.因此,如果您不需要DRM,非常高的分辨率和比特率(在JavaScript中进行transmux时会产生性能影响)或其他一些特定的DASH功能,则可能更好地使用HLS.

对于DASH和HLS,有几种服务(Bitmovin编码,zencoder)可以生成内容,也有开源解决方案,如ffmpeg.