流式傳輸是一種通過 Internet 傳遞數據的方式,以便設備可以在完全加載之前開始顯示數據。視頻通過 Internet 流式傳輸,因此客戶端設備在播放之前不必下載整個視頻文件。
MPEG-DASH 是一種流式傳輸方法。DASH 代表“ HTTP上的動態自適應流”。因為它基于 HTTP,所以可以設置任何源服務器來提供 MPEG-DASH 流。
MPEG-DASH 類似于HLS,另一種流媒體協議,因為它將視頻分解成更小的塊,并以不同的質量級別對這些塊進行編碼。這使得可以以不同的質量級別流式傳輸視頻,并在視頻中間從一個質量級別切換到另一個質量級別。
什么是 HTTP?
HTTP 是用于通過 Internet 進行通信的第 7 層協議。Web 應用程序使用 HTTP 來回發送數據,兩端的設備都能夠解釋;這有點像來自世界不同地區的兩個人使用共同語言進行交流。
MPEG-DASH 使用 HTTP,這是一個優勢,因為大多數 Internet 已經使用 HTTP。使用 HTTP,流會轉到幾乎始終打開的標準端口(端口 80 或 443)。這確保了流很少被防火墻阻止,防火墻可以阻止使用專用或不尋常端口的流協議。
MPEG-DASH 是如何工作的?
MPEG-DASH 流處理的主要步驟是:
編碼和分割:源服務器將視頻文件分成幾秒鐘長的更小的片段。服務器還會創建一個索引文件——比如視頻片段的目錄。然后對這些段進行編碼,這意味著以多個設備可以解釋的方式格式化。MPEG-DASH 允許使用任何編碼標準。
交付:當用戶開始觀看流時,編碼的視頻片段通過 Internet 推送到客戶端設備。在幾乎所有情況下,內容交付網絡 (CDN)都有助于更有效地分發流。
解碼和播放:當用戶的設備接收到流數據時,它會解碼數據并播放視頻。視頻播放器會自動切換到較低或較高質量的圖片以適應網絡條件 - 例如,如果用戶當前的帶寬非常少,則視頻將以較低的質量級別播放,使用較少的帶寬。
什么是自適應比特率流?
自適應比特率流是一種隨著網絡條件的變化在流中間調整視頻質量的能力。包括 MPEG-DASH、HLS 和 HDS 在內的多種流媒體協議允許自適應比特率流媒體。
自適應比特率流是可能的,因為源服務器以幾種不同的質量級別對視頻片段進行編碼。這發生在編碼和分割過程中。視頻播放器可以在視頻中間從一種質量級別切換到另一種質量級別,而不會中斷播放。如果網絡帶寬突然減少,這可以防止視頻完全停止。
HLS 與 DASH:主要區別是什么?
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 開發的,盡管它得到了廣泛的支持,但尚未作為國際標準發布。