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