蘋果流媒體HLS

        一如蘋果的強勢作風,蘋果對其旗下的iPhone、iPod、iPad、Apple TV各種設備上的視頻數據播放有強制的技術限制。

        1.必須使用H.264的編碼壓縮格式。

        2.音頻編碼壓縮格式

        HE-AAC/AAC-LC,stereo或者是MP3(MPEG-1 Audio Layer 3),stereo。

 

        其次,說說視頻流播放技術要求

        1.視頻流時長超過十分鐘或者視頻流五分鐘內數據流量超過5MB需要強制使用Http Live Stream技術方案。

        2.如果應用在無線蜂窩網絡(2g/3g等網絡)中使用Http Live Stream,至少需要提供一個在64kbps或者更低帶寬下的視頻數據流(例如,提供一個版本只保留聲音與靜態圖片)。

        3.不滿足要求的軟件將被下架。

 

        可以說,Http Live Stream技術(下文簡稱爲HLS)是蘋果視頻播放方案的核心。

什麼是HLS

        HLS組網由三部分組成,後臺服務器端Server 、分發模塊Distribution 、以及客戶端Client。


後端Server生成用於最終用於傳輸的媒體數據,
原始的語音視頻數據(例如H.264的視頻和AAC的音頻)被打包成MPEG-2的傳輸數據流。
MPEG-2的傳輸數據流被分割成一塊一塊,
每一塊存儲在一個後綴爲ts的媒體文件中。
此同生成一個對應的文件後綴爲m3u8的索引文件。

媒體流索引文件與對應的一系列媒體文件存放在分發模塊Distribution 中,
分發模塊Distribution是一個標準的Web 服務器,
通過標準的HTTP訪問,客戶端Client可以獲取到媒體流的索引文件,
並通過索引文件逐個獲取媒體流的分塊ts文件。
客戶端Client據此可以拼接出完整的視頻流,顯示給最終的用戶。

相對於其他移動平臺上使用的基於UDP協議的RTSP媒體數據流播放方案,
分發模塊Distribution僅僅使用HTTP連接傳輸所有的數據,
使其多媒體數據流能夠最廣泛的穿越各種邊緣網絡的網關、路由器、網絡代理設備。
此外,分發模塊Distribution可以和各種數字內容分發的前端機器合作,
提供緩存、媒體數據的分佈式存儲等。

 

索引文件的一個典型例子:


這裏總結一下支持HLS的非PC客戶端,
蘋果公司所出的所有設備,包括iPhone、iPad、iPod、Apple TV均內置支持HLS,並且只支持HLS(不支持其他平臺使用的RTSP媒體數據流)。

Google的Android 3.0以後的版本也支持HLS。
在網頁中訪問HLS視頻數據流代碼如下:


 下面以蘋果平臺上的多媒體“實時”轉碼功能軟件airplay video軟件爲實例,對HLS多媒體數據流進行抓包分析。

 

移動互聯網上的終端只具有有限的多媒體編解碼能力,其原因分析起來:
一來受限於平臺的多媒體能力支持,
二來受限於版權授權的限制,
像PC電腦特別是國內的PC電腦上,幾乎無限制的在系統上安裝了各種編解碼器,具有幾乎是無限的視頻編解碼能力。
於是,蘋果平臺上有一類軟件能完成下面的功能,
PC電腦上安裝一個服務器,客戶端運行在iPad/iPhone等移動互聯網終端上,
運行在PC電腦上的模塊負責把多媒體數據流“實時”轉換成移動互聯網終端能支持的碼流,
Air Vedio/Air Play it就是這類應用。
這類應用受限與蘋果平臺只支持HLS,
勢必也只能使用HLS方案。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章