我正在尝试找出 HLS 和 DASH
这两种广泛使用的流媒体格式之间的区别。
通过研究,我查看了演示自适应流功能比较的图像。
我不确定是否支持 HTML5。
MPEG-DASH
是唯一支持 HTML5 的流媒体格式吗
或者下图是一种旧功能比较?
最佳答案
最重要的区别可能是 MPEG-DASH 是一个独立于供应商的国际标准,由 ISO/IEC MPEG 批准。以前的自适应流媒体技术(例如 Apple HLS)已由供应商发布,对独立于公司的流媒体服务器和播放客户端的支持有限。
MPEG-DASH 允许使用 HTML5 native 播放,因为主要使用 fMP4 容器,但最近 Apple 在 WWDC16 上也增加了对 fMP4 的支持。然而,HLS 主要用于 MPEG2-TS 并受其支持,而 MPEG2-TS 无法使用 HTML5 进行原生播放。有一些解决方案可以将 JavaScript 中的 MPEG2-TS 片段转换为 fMP4,因此可以进行本地播放。这些玩家包括hls.js ,它是开源的。
如果您想使用 DRM,DASH 具有更多优势,因为 MPEG-CENC 与该标准完美集成。其他内容包括通过 SegmentTemplate 的更紧凑的 list (在 HLS 中,每个段都需要描述一个 URL),它允许指定段 URL 生成机制。 DASH list 的较小尺寸会影响启动延迟。 DASH 指定的其他内容是如何使用 BaseURL 进行故障转移,允许您在多个不同的位置托管您的内容等等。
不过,HLS的应用也比较广泛,没有那么复杂,也比较容易实现。因此,如果您不需要 DRM、非常高的分辨率和比特率(在 JavaScript 中传输时可能会对性能产生影响)或其他一些特定的 DASH 功能,使用 HLS 可能更好。
对于 DASH 和 HLS,有多种服务(例如 zencoder )可以生成内容以及开源解决方案,例如 ffmpeg。
关于format - HLS(Http Live Streaming)与 MPEG DASH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41543683/