我试图找到HLS and DASH
这两种广泛使用的流媒体格式之间的差异。
通过我的研究,我看了一下展示自适应流媒体功能比较的图像。
我不确定HTML5的支持
MPEG-DASH
是唯一支持HTML5的流格式
或者下面的图像是一种旧的特征比较?
答案 0 :(得分:5)
最重要的区别可能是MPEG-DASH是ISO / IEC MPEG批准的独立于供应商的国际标准。以前的自适应流媒体技术 - 例如Apple HLS--已经由供应商发布,对公司独立的流媒体服务器和回放客户端的支持有限。
MPEG-DASH允许使用HTML5进行原生播放,因为主要使用的是fMP4容器,但最近也使用Apple added support for fMP4 on the WWDC16。然而,HLS主要使用和支持MPEG2-TS,它不能用HTML5本地播放。有些解决方案可以将JavaScript中的MPEG2-TS段转换为fMP4,从而允许本机播放。这些播放器包括hls.js,它是开放源代码和商业播放器,如Bitmovin Player。
如果你想使用DRM,DASH有更多的优势,因为MPEG-CENC很好地与这个标准集成。其他事情包括通过SegmentTemplate进行更紧凑的清单(在HLS中,每个段都需要描述一个URL),这允许指定段URL生成机制。较小的DASH清单会影响启动延迟。 DASH指定的其他内容是您可以使用BaseURL进行故障转移,以便您在几个不同的位置much more托管您的内容。然而,HLS也被广泛使用,并且它不是那么复杂和容易实现。因此,如果您不需要DRM,非常高的分辨率和比特率(在使用JavaScript进行transmux时可能会对性能产生影响)或其他一些特定的DASH功能,则可能更适合使用HLS。
对于DASH和HLS,有几种服务(Bitmovin Encoding,zencoder)可以生成内容以及开源解决方案,例如ffmpeg。