HLS 直播協(xié)議m3u8詳解

一、HLS是什么
HTTP Live Streaming(縮寫是HLS)是一個由蘋果公司提出的基于HTTP的流媒體網(wǎng)絡(luò)傳輸協(xié)議急波。?是蘋果公司QuickTime X和iPhone軟件系統(tǒng)的一部分。 它的工作原理是把整個流分成一個個小的基于HTTP的文件來下載,每次只下載一些鸿竖。當(dāng)媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源泪漂,允許流媒體會話適應(yīng)不同的數(shù)據(jù)速率卸伞。

在開始一個流媒體會話時,客戶端會下載一個包含元數(shù)據(jù)的extended M3U (m3u8)playlist文件娘香,用于尋找可用的媒體流苍狰。HLS只請求基本的HTTP報文,與實時傳輸協(xié)議(RTP)不同烘绽,HLS可以穿過任何允許HTTP數(shù)據(jù)通過的防火墻或者代理服務(wù)器淋昭。?它也很容易使用內(nèi)容分發(fā)網(wǎng)絡(luò)來傳輸媒體流。

RTMP指Adobe的RTMP(Realtime Message Protocol)安接,廣泛應(yīng)用于低延時直播翔忽,也是編碼器和服務(wù)器對接的實際標(biāo)準(zhǔn)協(xié)議,在PC(Flash)上有最佳觀看體驗和最佳穩(wěn)定性盏檐。

HLS指Apple的HLS(Http Live Streaming)呀打,本身就是Live(直播)的,不過Vod(點播)也能支持糯笙。HLS是Apple平臺的標(biāo)準(zhǔn)流媒體協(xié)議贬丛,和RTMP在PC上一樣支持得天衣無縫。

二给涕、HLS主要的應(yīng)用場景
跨平臺:PC主要的直播方案是RTMP豺憔,也有一些庫能播放HLS额获,譬如jwplayer,基于osmf的hls插件也一大堆恭应。所以實際上如果選一種協(xié)議能跨 PC/Android/IOS抄邀,那就是HLS。

IOS上苛刻的穩(wěn)定性要求:IOS上最穩(wěn)定的當(dāng)然是HLS昼榛,穩(wěn)定性不差于RTMP在PC-flash上的表現(xiàn)境肾。

友好的CDN分發(fā)方式:目前CDN對于RTMP也是基本協(xié)議,但是HLS分發(fā)的基礎(chǔ)是HTTP胆屿,所以CDN的接入和分發(fā)會比RTMP更加完善奥喻。能在各種CDN之間切換,RTMP也能非迹,只是可能需要對接測試环鲤。

簡單:HLS作為流媒體協(xié)議非常簡單,apple支持得也很完善憎兽。Android對HLS的支持也會越來越完善冷离。至于DASH/HDS,好像沒有什么特別的理由纯命,就像linux已經(jīng)大行其道而且開放西剥,其他的系統(tǒng)很難再廣泛應(yīng)用。

總之亿汞,SRS支持HLS主要是作為輸出的分發(fā)協(xié)議瞭空,直播以RTMP+HLS分發(fā),滿總各種應(yīng)用場景留夜。點播以HLS為主。

三图甜、HLS協(xié)議詳解
HLS是提供一個m3u8地址碍粥,Apple的Safari瀏覽器直接就能打開m3u8地址,譬如:

http://demo.srs.com/live/livestream.m3u8
1
Android不能直接打開黑毅,需要使用html5的video標(biāo)簽嚼摩,然后在瀏覽器中打開這個頁面即可,譬如:


<video width="640" height="360"
autoplay controls autobuffer
src="http://demo.srs.com/live/livestream.m3u8"
type="application/vnd.apple.mpegurl">
</video>
1
2
3
4
5
6
HLS協(xié)議規(guī)定
視頻的封裝格式是TS矿瘦。

視頻的編碼格式為H264,音頻編碼格式為MP3枕面、AAC或者AC-3。

除了TS視頻文件本身缚去,還定義了用來控制播放的m3u8文件(文本文件)潮秘。

HLS協(xié)議說明
HLS的m3u8,是一個ts的列表易结,也就是告訴瀏覽器可以播放這些ts文件枕荞,譬如:

EXTM3U

EXT-X-VERSION:3

EXT-X-ALLOW-CACHE:YES

EXT-X-TARGETDURATION:13

EXT-X-MEDIA-SEQUENCE:430

EXT-X-PLAYLIST-TYPE:VOD

EXTINF:11.800

news-430.ts

EXTINF:10.120

news-431.ts

EXT-X-DISCONTINUITY

EXTINF:11.952

news-430.ts

EXTINF:12.640

news-431.ts

EXTINF:11.160

news-432.ts

EXT-X-DISCONTINUITY

EXTINF:11.751

news-430.ts

EXTINF:2.040

news-431.ts

EXT-X-ENDLIST

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
EXTM3U
每個M3U文件第一行必須是這個tag柜候,提供標(biāo)示作用

EXT-X-VERSION
用以標(biāo)示協(xié)議版本。這里是3躏精, 那么這里用的就是HLS協(xié)議第三個版本渣刷,此標(biāo)簽只能有0或1個,不寫代表使用版本1

EXT-X-TARGETDURATION
所有切片的最大時長矗烛,有些Apple設(shè)備這個參數(shù)不正確會無法播放辅柴。

EXT-X-MEDIA-SEQUENCE
切片的開始序號。每一個切片都有唯一的序號瞭吃,相鄰之間序號+1碌嘀。這個編號會繼續(xù)增長,保證流的連續(xù)性虱而。

EXTINF
ts 切片的實際時長筏餐。duration : 媒體持續(xù)時間

EXTINF <duration>,<title>

1
EXT-X-PLAYLIST-TYPE
類型,vod 表示點播牡拇。

EXT-X-ENDLIST
文件結(jié)束符號魁瞪。表示不再向播放列表文件添加媒體文件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惠呼,一起剝皮案震驚了整個濱河市导俘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剔蹋,老刑警劉巖旅薄,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異泣崩,居然都是意外死亡少梁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門矫付,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凯沪,“玉大人,你說我怎么就攤上這事买优》谅恚” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵杀赢,是天一觀的道長烘跺。 經(jīng)常有香客問我,道長脂崔,這世上最難降的妖魔是什么滤淳? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮砌左,結(jié)果婚禮上娇钱,老公的妹妹穿的比我還像新娘伤柄。我一直安慰自己,他們只是感情好文搂,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布适刀。 她就那樣靜靜地躺著,像睡著了一般煤蹭。 火紅的嫁衣襯著肌膚如雪笔喉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天硝皂,我揣著相機(jī)與錄音常挚,去河邊找鬼。 笑死稽物,一個胖子當(dāng)著我的面吹牛奄毡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贝或,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吼过,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了咪奖?” 一聲冷哼從身側(cè)響起盗忱,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎羊赵,沒想到半個月后趟佃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡昧捷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年闲昭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靡挥。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡序矩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芹血,到底是詐尸還是另有隱情贮泞,我是刑警寧澤楞慈,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布幔烛,位于F島的核電站,受9級特大地震影響囊蓝,放射性物質(zhì)發(fā)生泄漏饿悬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一聚霜、第九天 我趴在偏房一處隱蔽的房頂上張望狡恬。 院中可真熱鬧珠叔,春花似錦、人聲如沸弟劲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽兔乞。三九已至汇鞭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間庸追,已是汗流浹背霍骄。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留淡溯,地道東北人读整。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像咱娶,于是被迫代替她去往敵國和親米间。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容