天天看點

簡述 RTMP/HLS/HTTP-FLV

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以上延遲;