如何使用HTTP協議向移動設備傳輸視頻? HTTP Live Streaming (HLS)

爲何須要這樣一個協議?

使用HTTP直播流的移動視頻播放服務有如下問題:服務器

  1. 手機的內存和外存有限
  2. 受制於不穩定的網絡鏈接以及不一樣的帶寬,須要在傳輸過程當中動態調整傳輸視頻的質量

解決方法

  1. 服務器層面:在典型的設置中,編碼硬件接受音視頻輸入,將其編碼爲H.264格式的視頻和ACC格式的音頻,而後將他們以MPEG-2格式流輸出。
    1. 其後經過一個軟件分流器將原始輸出流分割爲一系列短媒體文件(長度可能爲10s的.ts文件)。
    2. 分流器同時也會維護一個包含全部媒體文件列表的索引文件(.m3u8格式)。
    3. 將以上步驟生成的媒體文件和索引文件發佈在網絡服務器上。
  2. 客戶端層面:客戶端讀取索引,而後向服務器順序請求所須要的媒體文件,而且流暢地將各個短媒體文件的內容播放出來。

架構

HLS Architecture
本文首發於 硅谷io
相關文章
相關標籤/搜索