HLS:
基于http協定;
以識别.m3u8檔案索引為準 .ts檔案播放;
三種類型:
動态清單: 實時更新ts檔案,過期的會被删除;
靜态清單: 原來的ts檔案不會被删,清單不斷的更新,大小逐漸增大;
全量清單: 将所有的ts檔案都列在list當中,使用的話就跟整個視訊沒什麼差別了.
缺點:
延遲性太高;
m3u8檔案下載下傳以及ts檔案下載下傳;
需要先下載下傳m3u8索引檔案以及m3u8裡面所有的ts檔案;
不包括dns,tcp解析的情況下,如果每個m3u8的ts檔案數為3~8,ts播放為5s,那麼延遲為40;
10s以上延遲;
RTMP:
Real-Time Messaging Protocol 實時消息傳輸協定 基于FLV格式進行開發;
基于應用層,底層為tcp協定傳輸;
做直播服務的首選;
TCP長連接配接協定傳輸相關資料,延時性較低,根據message stream ID或chunk stream ID傳輸;
三次建立連接配接 client => c0,c1,c2 server => s0,s1,s2塊資料;
缺點:
量大的話,負載較高;
很多防火牆會強掉RTMP,但是不會強掉HTTP
1s以上延遲
不支援html5
HTTP-FLV:
與RTMP類似;
基于HTTP;
RTMP直接将流的傳輸在RTMP協定之上,HTTP-FLV是在RTMP和用戶端之間套了了一層;
相比RTMP,HTTP-FLV會生成一個非常大的http流,隻能做主播,RTMP可以做推流/拉流.
缺點:
隻能在手機app播放 2s以上延遲;