我想在使用ffmpeg,nodejs和html5的屏幕上進行HTTP實時流。我希望它儘可能實時。不過,我發現客戶收到的視頻落後了1〜2秒(在Chrome/Chromium上)。我使用vp8/webm作爲我的編解碼器。
我已經消除了以下因素,例如:
1)網絡:我試圖服務和通過陳述視頻源爲127.0.0.1:PORT或本地主機接收本地視頻文件:PORT
2) ffmpeg編碼速度:我試圖在本地輸出文件,它的「延遲」似乎可以忽略不計。
3)Chrome內部緩衝區。緩衝區佔0.07s〜0.08s。
在nodeJS端,我有一個運行ffmpeg命令的子進程,並執行了ffmpeg.stdout.pipe(res); < - ffmpeg的是child_process.spawn(...)使用ffmpeg的NodeJS管道
如此看來,中的NodeJS的ffmpeg.std.pipe(RES)似乎是一個延遲的視頻流。我是否認爲這樣做是正確的?無論如何,我可以減少延誤?
1-2秒數據這種類型的應用是令人驚訝的低等待時間。這不太可能比這更好。每層都有緩衝區。 – Brad
Ahhhh我明白了......那對我來說很難過=(。感謝Brad! –