爲何須要這樣一個協議?
使用HTTP直播流的移動視頻播放服務有如下問題:服務器
- 手機的內存和外存有限。
- 受制於不穩定的網絡鏈接以及不一樣的帶寬,須要在傳輸過程當中動態調整傳輸視頻的質量。
解決方法
- 服務器層面:在典型的設置中,編碼硬件接受音視頻輸入,將其編碼爲H.264格式的視頻和ACC格式的音頻,而後將他們以MPEG-2格式流輸出。
- 其後經過一個軟件分流器將原始輸出流分割爲一系列短媒體文件(長度可能爲10s的.ts文件)。
- 分流器同時也會維護一個包含全部媒體文件列表的索引文件(.m3u8格式)。
- 將以上步驟生成的媒體文件和索引文件發佈在網絡服務器上。
- 客戶端層面:客戶端讀取索引,而後向服務器順序請求所須要的媒體文件,而且流暢地將各個短媒體文件的內容播放出來。
架構
本文首發於
硅谷io