一.HLS介紹
HLS,Http Live Streaming 是由Apple公司定義的用于實(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:每個M3U8文件第一行必須是這個tag。
#EXT-X-TARGETDURATION:指定最大的媒體段時間長度(秒),#EXTINF中指定的時間長度必須小于或等于這個最大值。該值只能出現(xiàn)一次。
#EXTINF:描述單個媒體文件的長度。后面為媒體文件,如./0.ts
2、TS文件
DVB定義的文件格式,用于音視頻的網(wǎng)絡(luò)傳輸,其中音視頻按時間戳進(jìn)行交織。每個數(shù)據(jù)包大小為188個字節(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ù)據(jù)源。
CHLSSource:實(shí)現(xiàn)具體的HLS請求,包括M3U8文件獲取和TS片段的獲取。
三.代碼片段
審核編輯 :李倩
-
協(xié)議
+關(guān)注
關(guān)注
2文章
590瀏覽量
39046 -
數(shù)據(jù)包
+關(guān)注
關(guān)注
0文章
238瀏覽量
24243 -
HLS
+關(guān)注
關(guān)注
1文章
128瀏覽量
23907
原文標(biāo)題:HLS協(xié)議實(shí)現(xiàn)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論