流式傳輸是一種通過 Internet 傳遞數(shù)據(jù)的方式,以便設(shè)備可以在完全加載之前開始顯示數(shù)據(jù)。視頻通過 Internet 流式傳輸,因此客戶端設(shè)備在播放之前不必下載整個(gè)視頻文件。
MPEG-DASH 是一種流式傳輸方法。DASH 代表“ HTTP上的動(dòng)態(tài)自適應(yīng)流”。因?yàn)樗?HTTP,所以可以設(shè)置任何源服務(wù)器來提供 MPEG-DASH 流。
MPEG-DASH 類似于HLS,另一種流媒體協(xié)議,因?yàn)樗鼘⒁曨l分解成更小的塊,并以不同的質(zhì)量級(jí)別對(duì)這些塊進(jìn)行編碼。這使得可以以不同的質(zhì)量級(jí)別流式傳輸視頻,并在視頻中間從一個(gè)質(zhì)量級(jí)別切換到另一個(gè)質(zhì)量級(jí)別。
什么是 HTTP?
HTTP 是用于通過 Internet 進(jìn)行通信的第 7 層協(xié)議。Web 應(yīng)用程序使用 HTTP 來回發(fā)送數(shù)據(jù),兩端的設(shè)備都能夠解釋;這有點(diǎn)像來自世界不同地區(qū)的兩個(gè)人使用共同語言進(jìn)行交流。
MPEG-DASH 使用 HTTP,這是一個(gè)優(yōu)勢(shì),因?yàn)榇蠖鄶?shù) Internet 已經(jīng)使用 HTTP。使用 HTTP,流會(huì)轉(zhuǎn)到幾乎始終打開的標(biāo)準(zhǔn)端口(端口 80 或 443)。這確保了流很少被防火墻阻止,防火墻可以阻止使用專用或不尋常端口的流協(xié)議。
MPEG-DASH 是如何工作的?
MPEG-DASH 流處理的主要步驟是:
編碼和分割:源服務(wù)器將視頻文件分成幾秒鐘長(zhǎng)的更小的片段。服務(wù)器還會(huì)創(chuàng)建一個(gè)索引文件——比如視頻片段的目錄。然后對(duì)這些段進(jìn)行編碼,這意味著以多個(gè)設(shè)備可以解釋的方式格式化。MPEG-DASH 允許使用任何編碼標(biāo)準(zhǔn)。
交付:當(dāng)用戶開始觀看流時(shí),編碼的視頻片段通過 Internet 推送到客戶端設(shè)備。在幾乎所有情況下,內(nèi)容交付網(wǎng)絡(luò) (CDN)都有助于更有效地分發(fā)流。
解碼和播放:當(dāng)用戶的設(shè)備接收到流數(shù)據(jù)時(shí),它會(huì)解碼數(shù)據(jù)并播放視頻。視頻播放器會(huì)自動(dòng)切換到較低或較高質(zhì)量的圖片以適應(yīng)網(wǎng)絡(luò)條件 - 例如,如果用戶當(dāng)前的帶寬非常少,則視頻將以較低的質(zhì)量級(jí)別播放,使用較少的帶寬。
什么是自適應(yīng)比特率流?
自適應(yīng)比特率流是一種隨著網(wǎng)絡(luò)條件的變化在流中間調(diào)整視頻質(zhì)量的能力。包括 MPEG-DASH、HLS 和 HDS 在內(nèi)的多種流媒體協(xié)議允許自適應(yīng)比特率流媒體。
自適應(yīng)比特率流是可能的,因?yàn)樵捶?wù)器以幾種不同的質(zhì)量級(jí)別對(duì)視頻片段進(jìn)行編碼。這發(fā)生在編碼和分割過程中。視頻播放器可以在視頻中間從一種質(zhì)量級(jí)別切換到另一種質(zhì)量級(jí)別,而不會(huì)中斷播放。如果網(wǎng)絡(luò)帶寬突然減少,這可以防止視頻完全停止。
HLS 與 DASH:主要區(qū)別是什么?
HLS 是當(dāng)今廣泛使用的另一種流協(xié)議。MPEG-DASH 和 HLS 在許多方面都相似。兩種協(xié)議都通過 HTTP 運(yùn)行,使用TCP作為傳輸協(xié)議,將視頻分成帶有索引文件的片段,并提供自適應(yīng)比特率流。
但是,這兩種協(xié)議有幾個(gè)關(guān)鍵區(qū)別:
編碼格式: MPEG-DASH 允許使用任何編碼標(biāo)準(zhǔn)。另一方面,HLS 需要使用H.264或 H.265。
設(shè)備支持: HLS 是 Apple 設(shè)備支持的唯一格式。iPhone、MacBook 和其他 Apple 產(chǎn)品無法播放通過 MPEG-DASH 傳輸?shù)囊曨l。
段長(zhǎng)度:這是 2016 年之前協(xié)議之間的較大差異,當(dāng)時(shí) HLS 的默認(rèn)段長(zhǎng)度為 10 秒。今天,HLS 的默認(rèn)長(zhǎng)度是 6 秒,盡管它可以從默認(rèn)值進(jìn)行調(diào)整。MPEG-DASH 片段的長(zhǎng)度通常在 2 到 10 秒之間,盡管最佳長(zhǎng)度是 2-4 秒。
標(biāo)準(zhǔn)化: MPEG-DASH 是一個(gè)國(guó)際標(biāo)準(zhǔn)。HLS 是由 Apple 開發(fā)的,盡管它得到了廣泛的支持,但尚未作為國(guó)際標(biāo)準(zhǔn)發(fā)布。