MPEG-DASH 是一种用于在 Internet 上流式传输视频的技术。MPEG-DASH 使用 HTTP,可以在任何 Web 服务器上运行。
阅读本文后,您将能够:
复制文章链接
流式传输是一种通过互联网传输数据的方式,以便设备可以在数据完全加载之前开始显示。视频通过互联网进行流式传输,以便客户端设备不必下载整个视频文件就可以开始播放。
MPEG-DASH 是一种流式传输方法。DASH 代表“基于HTTP 的的动态自适应流式传输”。由于其基于 HTTP,任何源服务器都可以配置为提供 MPEG-DASH 流式传输。
MPEG-DASH 类似于HLS ,后者是另一种流式传输协议,它将视频分解成更小的片段,并以不同的质量级别对这些片段进行编码。这使得有可能流式传输不同质量级别的视频,并在视频中间从一种质量级别切换到另一种质量级别。
HTTP 是用于通过互联网进行通信的第 7 层协议。Web 应用程序使用 HTTP 以两端设备都能够解析的方式来回发送数据;这有点像来自世界不同地区的两个人使用一种共同语言进行交流。
MPEG-DASH 使用 HTTP,这是一个优势,因为互联网大部分已经使用 HTTP。使用 HTTP,流媒体传送到一个几乎始终打开的标准端口(端口 80 或 443)。这确保流媒体极少被防火墙阻止,因为防火墙会阻止使用专用或不寻常端口的流式传输协议。
MPEG-DASH 流式传输包含以下主要步骤:
自适应比特率流式传输就是一种在网络条件变化时在流中间调整视频质量的能力。包括 MPEG-DASH、HLS 和 HDS 在内的多种流式传输协议允许自适应比特率流式传输。
自适应比特率流式传输之所以可行,是因为源站服务器以多种不同的质量级别对视频片段进行编码。这发生在编码和分段过程中。视频播放器可以在视频播放过程中从一种质量级别切换到另一种,而不会中断播放。这可以防止在网络带宽突然减少时视频完全停止播放。
HLS 是当今另一种广泛使用的流式传输协议。MPEG-DASH 和 HLS 在许多方面相似。这两种协议都在 HTTP 上运行,使用TCP作为它们的传输协议,将视频分成带有随附索引文件的片段,并提供自适应比特率流式传输。
但是,这两种协议有几个关键区别:
编码格式: MPEG-DASH 允许使用任何编码标准。另一方面,HLS 需要使用H.264或 H.265。
设备支持: HLS 是唯一受 Apple 设备支持的格式。iPhone、MacBook 和其他 Apple 产品无法播放通过 MPEG-DASH 传输的视频。
片段长度:这是 2016 年以前协议之间的较大差异,当时 HLS 的默认片段长度为 10 秒。今天,HLS 的默认长度为 6 秒,但可以调整。MPEG-DASH 片段的长度通常在 2 到 10 秒之间,但最佳长度是 2 到 4 秒。
标准化: MPEG-DASH 是一种国际标准。HLS 由 Apple 开发,尽管得到了广泛的支持,并没有发布为国际标准。
Cloudflare 视频流式传输产品支持 MPEG-DASH 以及其他流式传输标准。Cloudflare 用于视频流式传输的主要产品是 Cloudflare Stream and Cloudflare Stream Delivery。
Cloudflare Stream 是视频点播流式传输平台,将视频存储、编码、可定制嵌入式播放器与 Cloudflare 全球网络 集成在一起。Cloudflare Stream Delivery 缓存并加速未存储在 Cloudflare 网络上的视频流。