原文
對(duì)于一般的視頻文件,HTML5都能很好的處理,但是據(jù)研究發(fā)現(xiàn),HTML5還無(wú)法用于在線直播視頻節(jié)目。不過(guò)蘋(píng)果已經(jīng)通過(guò)HTTP Live Streaming對(duì)HTML5的這一不足之處進(jìn)行了彌補(bǔ),它可以通過(guò)HTTP傳輸H.264的文件塊,但目前這項(xiàng)技術(shù)只能用于Safari瀏覽器上。
蘋(píng)果平臺(tái)上的媒體流播放技術(shù)HLS
1.必須使用H.264的編碼壓縮格式。
2.音頻編碼壓縮格式
HE-AAC/AAC-LC,stereo或者是MP3(MPEG-1 Audio Layer 3),stereo。
視頻流播放技術(shù)要求
1.視頻流時(shí)長(zhǎng)超過(guò)十分鐘或者視頻流5分鐘內(nèi)數(shù)據(jù)流量超過(guò)5MB需要強(qiáng)制使用Http Live Stream技術(shù)方案
2.如果應(yīng)用在無(wú)限蜂窩網(wǎng)絡(luò)中使用Http Live Stream,至少需要提供一個(gè)在64kbps或者更低帶寬下的視頻數(shù)據(jù)流
3.不滿足要求的軟件將被下架
維基百科把HLS定義為蘋(píng)果公司實(shí)現(xiàn)的一種完全基于HTTP的媒體流協(xié)議。要理解HLS,先看看HLS的典型組網(wǎng)結(jié)構(gòu)。在蘋(píng)果公司的技術(shù)文檔中描述HLS組網(wǎng)由三部分組成,后臺(tái)服務(wù)器端Server、分發(fā)模塊Distribution、一級(jí)客戶端Client。

后端Server生成用于最終用于傳輸?shù)拿襟w數(shù)據(jù),原始的語(yǔ)音視頻數(shù)據(jù)(例如H.264的視頻和AAC的音頻)被打包成MPEG-2的傳輸數(shù)據(jù)流(MPEG transport stream,由于定義在MPEG-2規(guī)范的第一部分,又叫做MPEG-2 transport stream)。MPEG-2的傳輸數(shù)據(jù)流被分割成一塊一塊,例如,每一塊存儲(chǔ)在一個(gè)后綴為ts的媒體文件中。
與此同時(shí),生成一個(gè)對(duì)應(yīng)的文件后綴為m3u8的索引文件。
媒體流索引文件與對(duì)應(yīng)的一系列媒體文件存放在分發(fā)模塊Distribution 中,分發(fā)模塊Distribution是一個(gè)標(biāo)準(zhǔn)的Web 服務(wù)器,通過(guò)標(biāo)準(zhǔn)的HTTP訪問(wèn),客戶端Client可以獲取到媒體流的索引文件,并通過(guò)索引文件逐個(gè)獲取媒體流的分塊ts文件??蛻舳薈lient據(jù)此可以拼接出完整的視頻流,顯示給最終的用戶。相對(duì)于其他移動(dòng)平臺(tái)上使用的基于UDP協(xié)議的RTSP媒體數(shù)據(jù)流播放方案,分發(fā)模塊Distribution僅僅使用HTTP連接傳輸所有的數(shù)據(jù),使其多媒體數(shù)據(jù)流能夠最廣泛的穿越各種邊緣網(wǎng)絡(luò)的網(wǎng)關(guān)、路由器、網(wǎng)絡(luò)代理設(shè)備。此外,分發(fā)模塊Distribution可以和各種數(shù)字內(nèi)容分發(fā)的前端機(jī)器合作,提供緩存、媒體數(shù)據(jù)的分布式存儲(chǔ)等。