我使用hls流式傳輸通過ffmpeg。
在數據流開始延遲存在幾秒鐘。
當我想從一個4k的視頻流中存在非常延遲的時候。
我能做什麼?減少HLS流式傳輸的延遲FFMPEG
回答
4K視頻
...
在流延時的開始存在幾秒鐘
是的,當然它。緩衝足夠的數據以回放非常高的比特率需要時間。不僅如此,您的HLS播放器在解碼甚至開始之前通常需要幾個片段。正如@iangetz所說,你可以減少段的長度,但現在由於所有額外的HTTP請求,你將會有更多的開銷。
減少延遲對於HLS流
不要使用HLS。 HLS或任何其他分段流協議(如DASH)都針對低延遲進行了優化。它針對HTTP CDN的重複使用進行了優化,可以在網絡發生變化時進行回放(例如從WiFi到LTE時)以及客戶可選(通常是動態)質量。
分段協議的本質要求將相對較大的緩衝區分塊,然後單獨上傳到服務器/ CDN。這非常有用,但如果您需要低延遲,則不是一個好的折衷。
如果等待時間對您有影響,您需要完全不同的技術。看看WebRTC。利用這項技術,實時視頻流,編解碼器針對質量延遲進行了優化,可靠性降低,有利於延遲。它還需要對分銷基礎設施進行重大投資。
我無法想象這樣一種情況,那些關心4k視頻的人認爲降低質量將值得權衡低延遲。你不能擁有你想要的一切......你必須選擇對你來說真正重要的事情,並從那裏進行優化。如果你想要低延遲,你將不得不降低質量,花費大量的金錢和時間在基礎設施上來支持這項工作。如果您想要高質量和可靠的數據流,則可以在使用DASH(或HLS)對現有基於HTTP的CDN進行分發時保持良好的編碼參數。
這可能是播放器在開始播放前用足夠的內容填充緩衝區。
您可以使用'hls_time'減少視頻片段大小,這樣每個片段的下載速度就會更快,但這會對您的服務器產生更多的HTTP請求。此外,您可以使用'hls_init_time'減少第一個分段,並按原樣保留其他分段。
http://ffmpeg.org/ffmpeg-all.html#hls-1
hls_init_time秒爲單位設置在 秒初始目標段長度。默認值爲0.在第一個m3u8列表上經過這段時間後,將在下一個關鍵幀 上切割段。在初始 播放列表填充後,ffmpeg將在等於 的時間段中剪切段hls_time
hls_time seconds設置目標段長度,以秒爲單位。默認 值爲2.在此時間 已過去之後,將在下一個關鍵幀上切割段。
另一種方法是在開始播放之前減少播放器所需的緩衝量。我不確定你使用的是什麼球員,但大多數人都有這個選項。
- 1. 我如何才能減少與Wowza HLS流的延遲
- 2. 如何使HLS實時流式傳輸具有低延遲?
- 3. 如何減少延遲 - 來自網絡攝像機的VLC流式傳輸
- 4. 使用ffmpeg將低延遲RTSP視頻流傳輸到android
- 5. fs.createReadStream('b.mp3')減少延遲
- 6. 如何在流式直播視頻時減少延遲?
- 7. Android上的HLS流式傳輸
- 8. Galaxy S3上的HLS流式傳輸
- 9. FFmpeg無法流式傳輸
- 10. 在libavformat流式傳輸後顯示視頻流的延遲
- 11. 在Android中播放shoutcast流的流式傳輸延遲
- 12. ffmpeg視頻流播放延遲?
- 13. C++,FFMPEG,H264,創建零延遲流
- 14. CloudFront HLS流式傳輸不起作用--S3(HLS v4)
- 15. 如何減少Android中的Thread.sleep()延遲
- 16. 減少Bot連接器的延遲
- 17. 如何減少按鍵的延遲?
- 18. 減少顯示進度條的延遲
- 19. 減少加載UIView的時間延遲
- 20. HLS流延遲在iPad1上(在iPad2上播放非常流暢)
- 21. 從開始的mpeg-dash實時流式傳輸延遲
- 22. 由於流式傳輸網站造成的Jsoup延遲
- 23. ffmpeg:簡單的RTMP流式傳輸
- 24. 如何減少Azure表存儲延遲?
- 25. 預加載SourceDataLine以減少延遲
- 26. Gstreamer:動態增加和減少延遲
- 27. KeyDown/KeyUp 70-120ms延遲。如何減少?
- 28. 使用System.Speech.Synthesis時儘量減少延遲
- 29. 如何減少石英調度延遲
- 30. 使用UITableView和GCD減少延遲
您是否在談論減少編碼播放直播流的延遲,或者您是否只是在回放視頻之前詢問緩衝過程,而這隻會通過4k視頻等高比特率視頻延長? – Brad
@Brad我正在談論的是如何減少編碼的實時流播放延遲。但請你幫我解決你問我的兩個問題。 我使用下面的代碼進行流式傳輸。你有什麼建議讓我的需要更好嗎? 'FFMPEG -re -i input.mp4 -s CGA -f HLS -hls_list_size 0 -g 48 -vcodec libx264 -c:一個AAC 200P/out.m3u8 \t \t -s NHD -f HLS -hls_list_size 0 -g 48 -vcodec libx264 -c:aac 360p/out.m3u8' – parsa