一.HLS介紹
HLS,Http Live Streaming 是由Apple公司定義的用于實(shí)時(shí)流傳輸?shù)膮f(xié)議,HLS基于HTTP協(xié)議實(shí)現(xiàn),傳輸內(nèi)容包括兩部分,一是M3U8描述文件,二是TS媒體文件。
1、M3U8文件
用文本方式對媒體文件進(jìn)行描述,由一系列標(biāo)簽組成。
#EXTM3U
#EXT-X-TARGETDURATION:5
#EXTINF:5,
./0.ts
#EXTINF:5,
./1.ts
#EXTM3U:每個(gè)M3U8文件第一行必須是這個(gè)tag。
#EXT-X-TARGETDURATION:指定最大的媒體段時(shí)間長度(秒),#EXTINF中指定的時(shí)間長度必須小于或等于這個(gè)最大值。該值只能出現(xiàn)一次。
#EXTINF:描述單個(gè)媒體文件的長度。后面為媒體文件,如./0.ts
2、TS文件
DVB定義的文件格式,用于音視頻的網(wǎng)絡(luò)傳輸,其中音視頻按時(shí)間戳進(jìn)行交織。每個(gè)數(shù)據(jù)包大小為188個(gè)字節(jié)。
二.HLS實(shí)現(xiàn)類結(jié)構(gòu)圖
CHLSServer:進(jìn)行Socket偵聽,管理所的客戶端HLS請求。
CHLSClient:實(shí)現(xiàn)HTTP的請求響應(yīng),根據(jù)客戶端請求的HLS內(nèi)容,交給CHLSSource進(jìn)行處理。
CHLSSourceManager:所有HLS源管理器,HLS源可以是本地的文件,也可以是來自網(wǎng)絡(luò)或設(shè)備的實(shí)時(shí)數(shù)據(jù)源。
CHLSSource:實(shí)現(xiàn)具體的HLS請求,包括M3U8文件獲取和TS片段的獲取。
三.代碼片段
審核編輯 :李倩
-
協(xié)議
+關(guān)注
關(guān)注
2文章
606瀏覽量
39295 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
266瀏覽量
24437 -
HLS
+關(guān)注
關(guān)注
1文章
130瀏覽量
24170
原文標(biāo)題:HLS協(xié)議實(shí)現(xiàn)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論