直播協議HTTP FLV詳解

2021-10-10 21:23:48 字數 956 閱讀 1934

http flv則是將rtmp封裝在http協議之上的,可以更好的穿透防火牆等。

這兩個協議實際上傳輸資料是一樣的,資料都是flv檔案的tag。http_flv是乙個無限大的http流的檔案,相比http就只能直播,而rtmp還可以推流和更多的操作。但是http有個好處,就是是以80http通訊的,穿透性強,而且rtmp是非開放協議。

這兩個協議是如今直播平台主選的直播方式,主要原因就是延時極低。

http flv直播demo:

flv.js demo

your browser is too old which doesn't support html5 video.

flv.js問題:(暫時發現這幾個)

手機端相容性差

1,2 問題解決方案:

嘗試設定 config.fixaudiotimestampgap = false

控制台將不會輸出大量警告資訊。

lflivekit 的音訊流時間戳問題,定期會有兩幀之間存在兩倍時間戳差,會導致嚴重音畫不同步。

github issue:

判斷flv.js在手機端是否支援點播和httpflv直播:

是否支援httpflv直播流:flvjs.getfeaturelist().mseliveflvplayback

目前測試結果:

完整版demo:

2019-01-05更新

經過多天的測試,對數十位主播分別用flvjs的master分支、#136、#354進行10分鐘到2小時的測試,總結一下結論:

master分支、issue 136 都會出現不同程度主播音畫不同步的情況,master分支音畫不同步情況尤其嚴重。

也期待flvjs作者可以盡早確認此pr並合併到master,造福全人類!

拓展閱讀:

HTTP FLV直播初探

協議httpflv rtmp hlsdash 傳輸方式 http流 tcp流 ts檔案 mp4 3gp webm延時低 低高高資料分段 連續流連續流 切片檔案 切片檔案 不支援http flv則是將rtmp封裝在http協議之上的,可以更好的穿透防火牆等。這兩個協議實際上傳輸資料是一樣的,資料都是f...

直播協議HTTP FLV標準解讀與技術實現

這裡首先要說一下,hls其實是乙個 文字協議 而並不是乙個流 協議。那麼,什麼樣的協議才能稱之為流 協議呢?延遲分析 理論上 除去網路延遲外 flv可以做到僅僅一 遲。相比rtmp的優點 可以在一定程度上避免防火牆的干擾 例如,有的機房只允許 80 埠通過 可以很好的相容http 302跳轉,做到靈...

直播協議對比

目前,國內主流的直播協議有hls rtmp http flv,適用於不同的直播場景。hls 原理架構圖 hls 協議基於 http,主要內容是關於 m3u8 這個文字協議的。其實生成和解析都非常簡單,hls 的請求流程是 http 請求 m3u8 的 url。hls 的優勢 使用 http 協議網路...