MPEG-DASH 是一種用於在網際網路上進行視訊串流的技術。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 和 Cloudflare Stream Delivery。
Cloudflare Stream 是隨選視訊串流平台,將視訊儲存、編碼、可自訂播放程式與 Cloudflare 全球網路整合在一起。Cloudflare Stream Delivery 快取並加速未儲存在 Cloudflare 網路上的視訊串流。