如何生成HLS協議的M3U8檔案

2021-08-01 06:26:10 字數 1435 閱讀 8769

什麼是hls協議:

hls協議應用:

由於傳輸層協議只需要標準的http 協議, hls 可以方便的透過防火牆或者**伺服器, 而且可以很方便的利用cdn進行分發加速, 這樣就可以很方便的解決大規模應用的瓶頸。並且客戶端實現起來也容易。

hls協議架構圖:

檔案的生成和解析:

hls 協議的主要內容是關於 m3u8 這個文字協議的, 其實生成與解析都非常簡單。下面是給出實際應用的例子:

·     hls 通過uri(rfc3986) 指向的乙個playlist 來表示乙個**流。

·     乙個playlist 可以是乙個media playlist 或者master playlist, 使用utf-8 編碼的文字檔案, 包含一些uri 跟描述性的tags。

·   更加複雜的情況是, playlist 是乙個master playlist, 包含乙個variant stream 集合, 通常每個variant stream 裡面是同乙個流的多個不同版本(如: 解析度, 位元速率不同)。

hls media segments

·   每乙個media segment 通過乙個uri 指定, 可能包含乙個byte range。

·   每乙個media segment 的duration 通過extinf tag 指定。

·   每乙個media segment 有乙個唯一的整數media segment number。

·   有些**格式需要乙個format-specific sequence 來初始化乙個parser, 在media segment 被parse 之前. 這個字段叫做media initialization section, 通過ext-x-map tag 來指定。

hls 

的優勢

使用http 協議網路相容性好, http 資料報也可以方便地通過防火牆或者**伺服器, cdn 支援良好。

hls 

的劣勢

相比rtmp 這類長連線協議, 延時較高, 難以用到互動直播場景。

對於點播服務來說, 由於ts 切片通常較小, 海量碎片在檔案分發, 一致性快取, 儲存等方面都有較大挑戰。

hls 

延時問題

嵌入網頁的html**

移動端m3u8鏈結

HLS 直播協議m3u8詳解

ios上苛刻的穩定性要求 ios上最穩定的當然是hls,穩定性不差於rtmp在pc flash上的表現。友好的cdn分發方式 目前cdn對於rtmp也是基本協議,但是hls分發的基礎是http,所以cdn的接入和分發會比rtmp更加完善。能在各種cdn之間切換,rtmp也能,只是可能需要對接測試。總...

HLS科普1 HLS和M3U8簡介

1.m3u8檔案概念2.m3u8檔案舉例 例如使用雲圖tv點播直播節目時,傳送請求 返回m3u8檔案,檔案內容如下 extm3u ext x media sequence 140651513 ext x targetduration 10 extinf 8,extinf 9,extinf 11,ex...

M3U8檔案分析

最近在研究hls協議,經常要看m3u8檔案內容,所以就介紹一下裡面的內容代表啥意思。檔案內容如下所示 extm3u ext x version 3 ext x targetduration 12 ext x media sequence 0 extinf 11.11,test shandong007...