在
網(wǎng)站建設過程中我們會用超文本標記語言視頻來嵌入視頻內(nèi)容,但是它有一些限制。例如,它通過HTTP線性下載視頻文件,這會導致性能下降,特別是對于在較慢連接上消耗的大視頻。但我們現(xiàn)在可以通過自適應比特率流,我們可以以不同的比特率和分辨率將視頻分成多個片段。
經(jīng)過一些研究,發(fā)現(xiàn)自適應比特率流是我需要的解決方案。您可能想知道為什么不能簡單地依賴HTML視頻元素。這是有原因的。讓我們比較一下本地視頻元素和瀏覽器中的自適應視頻流。使用漸進式下載,您的瀏覽器通過HTTP從服務器線性下載視頻文件,只要緩沖了足夠的數(shù)據(jù),就開始播放。這是的默認行為視頻元素。
它使用HTTP 206范圍請求來獲取視頻文件。服務器將視頻的特定字節(jié)范圍發(fā)送到您的瀏覽器。當您搜索時,瀏覽器將發(fā)出更多的范圍請求,要求新的字節(jié)范圍(例如,“給我字節(jié)1,000,000–2,000,000”)。換句話說,它不會一次獲取整個文件。相反,它按需提供單個MP4視頻文件的部分字節(jié)范圍。這仍然被認為是漸進式下載因為只有一個文件是通過HTTP獲取的,所以沒有帶寬或質量調整。
如果你試圖通過慢速連接觀看高分辨率視頻,你將會等待很長時間才能開始播放。代替提供單個視頻文件,自適應比特率(ABR)流以不同的比特率和分辨率將視頻分割成多個片段。在播放過程中,ABR算法會根據(jù)您的網(wǎng)絡連接、帶寬和其他設備能力,自動選擇可以及時下載的最高質量的段,以便順利播放。它不斷調整以適應不斷變化的環(huán)境。
為了自適應地流式傳輸媒體,視頻在不同的時間點被分成不同質量水平的塊。我們需要實時地促進這些段之間的自適應切換過程。為了實現(xiàn)這一點,ABR流依賴于特定的協(xié)議。在客戶端,符合DASH標準的視頻播放器讀取MPD文件并持續(xù)監(jiān)控網(wǎng)絡帶寬。根據(jù)可用帶寬,播放器選擇適當?shù)谋忍芈什⒄埱笙鄳囊曨l塊。這一過程在整個回放過程中重復進行,以確保流暢的最佳質量。