【发布时间】:2017-05-23 10:59:51
【问题描述】:
我正在尝试找出HLS and DASH 这两种广泛使用的流格式之间的区别。
通过研究,我查看了展示自适应流媒体功能比较的图像。
我不确定是否支持 HTML5。MPEG-DASH是唯一支持HTML5的流格式吗
还是下图是老特征比较?
【问题讨论】:
标签: format streaming http-live-streaming mpeg-dash
我正在尝试找出HLS and DASH 这两种广泛使用的流格式之间的区别。
通过研究,我查看了展示自适应流媒体功能比较的图像。
我不确定是否支持 HTML5。MPEG-DASH是唯一支持HTML5的流格式吗
还是下图是老特征比较?
【问题讨论】:
标签: format streaming http-live-streaming mpeg-dash
最重要的区别可能是 MPEG-DASH 是独立于供应商的国际标准,由 ISO/IEC MPEG 批准。以前的自适应流媒体技术(例如 Apple HLS)已由供应商发布,但对公司独立的流媒体服务器和播放客户端的支持有限。
MPEG-DASH 允许使用 HTML5 进行原生播放,因为主要使用了 fMP4 容器,但最近 Apple 在 WWDC16 上也增加了对 fMP4 的支持。尽管如此,HLS 主要用于和支持 MPEG2-TS,而不能用 HTML5 原生播放。有一些解决方案可以将 JavaScript 中的 MPEG2-TS 片段转换为 fMP4,因此允许本地播放。这些播放器包括hls.js,它是开源的。
如果您想使用 DRM,DASH 具有更多优势,因为 MPEG-CENC 与此标准很好地集成。其他内容包括通过 SegmentTemplate 更紧凑的清单(在 HLS 中,每个段都需要描述一个 URL),它允许指定段 URL 生成机制。 DASH 清单的较小大小会影响启动延迟。 DASH 指定的其他事项是如何使用 BaseURL 进行故障转移,从而允许您将内容托管在多个不同的位置等等。
但是,HLS 也被广泛使用,它并不那么复杂且易于实现。因此,如果您不需要 DRM、非常高的分辨率和比特率(在 JavaScript 中转换时可能会对性能产生影响)或其他一些特定的 DASH 功能,使用 HLS 可能会更好。
对于 DASH 和 HLS,有几种服务(例如,zencoder)可以生成内容以及开源解决方案,例如 ffmpeg。
【讨论】: