m3u8和HLS下載和分析工具

好好大人發表於2016-10-14

  HLS即HTTP Live Streaming的縮寫,是由蘋果公司(apple)提出的一種流媒體播出協議。iOS終端(iPhone、iPad、iPod等)以及Android終端都支援該協議。Android和iOS終端對HLS協議的支援是系統內建的,不需要開發額外的元件,通過HTML5網頁和系統播放器可以直接播放HLS視訊流。

  m3u8是HLS協議的播出索引檔案,是HLS協議的播放列表(Playlist),檔案內容是utf-8編碼的文字資料。HLS協議的播出內容是分片分發的,視訊檔案(或視訊流)會被切成長度大致相等的視訊小片段進行分發,m3u8檔案描述這些視訊片段的排列順序和下載位置。如果HLS播出內容是加密的,m3u8還描述加密的協議和祕鑰獲取方式的資訊。

 相對其他播出協議,HLS的優勢有:

   1、將大檔案切分成小的檔案片段,使用HTTP協議傳輸,能夠充分利用現有的快取和CDN加速技術進行快速分發,適合在網際網路上進行高效傳輸

   2、Android和iOS都內建播放器,支援HTML5標籤,能夠方便的整合到HTML5應用和APP應用中,開發和整合難度低

   3、編碼、複用、傳輸、加密技術都是開放的國際標準,裝置和應用整合方便,更容易被接受和使用

  播放器播放HLS流的過程是:1)獲取m3u8檔案的url位置,2)下載m3u8檔案,分析播放列表,3)根據播放列表的定義下載視訊片段,4)對視訊片段進行解複用、解碼和播放。

  m3u8和hls分析工具對HLS協議的分析也遵循這個過程,通過下載和解析m3u8檔案來分析判斷HLS流的播出情況。

  本文附加包含m3u8下載分析工具,大家可以體驗一下。


相關文章