HTTP Live Streaming;獲取攝像機音視頻獲取到本地,進行HLS打包,H264+AAC的流媒體切片,提供給WEB服務器進行HLS流媒體發佈,nginx
切片後: 一個M3U8文件 和 多個.ts文件,M3U8是一種可擴展的播放列表文件格式。它是一個包含UTF-8編碼文字的m3u播放列表。m3u是包含媒體文件URL的一個事實上的播放列表標準,編碼仍是h264。這種格式被用來做爲HTTP Live 媒體流索引文件的格式。M3u8是一種視頻列表格式,裏面有真正的視頻連接,在其中能夠再嵌套一層m3u8。web
實現hls直播:緩存
採集視頻源和音頻源的數據服務器
對原始數據進行H264編碼和AAC編碼負載均衡
視頻和音頻數據封裝爲MPEG-TS包模塊化
HLS分段生成策略及m3u8索引文件編碼
HTTP傳輸協議spa
m3u8文件結構:代理
#EXTM3U m3u文件頭,必須放在第一行 #EXT-X-MEDIA-SEQUENCE 第一個TS分片的序列號 #EXT-X-TARGETDURATION 每一個分片TS的最大的時長 #EXT-X-ALLOW-CACHE 是否容許cache #EXT-X-ENDLIST m3u8文件結束符 #EXTINF extra info,分片TS的信息,如時長,帶寬等
二、nginx 服務器code
處理靜態文件,索引文件以及自動索引;打開文件描述符緩衝
無緩存的反向代理加速,簡單的負載均衡和容錯.
FastCGI,簡單的負載均衡和容錯.
模塊化的結構。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。若是由FastCGI或其它代理服務器處理單頁中存在的多個SSI,則這項處理能夠並行運行,而不須要相互等待。