FFmpeg解碼H264視頻流局部花屏解決方法

在項目中使用到了FFmpeg實現屏幕廣播技術,其物理拓撲圖如下:
在這裏插入圖片描述
由於我們的場景是在局域網中,因此基於FFmpeg的udp協議進行播放;當視頻流是從windows 10 系統播出時,部分接收端存在局部花屏現象現象;

爲了驗證花屏問題,我們提出兩種解決方案:

  • 控制播放源的發送數據大小

  • 增加接收緩存區,避免丟包

方法一:

我們把播放源的計算機網絡環境從自動監測設置爲100M雙工時,接收端花屏現象就不存在了;但這個極大浪費了當前的網絡帶寬,非優選方案

方法二:

通過查詢資料,1920*1080高分辨率情況下,FFmpeg發送的數據會比較大,超過了FFmpeg默認最大值,需要擴大接收端的接收緩衝區,其方法修改方法如下:

在FFmpeg的源碼中,找到udp.c文件並修改UDP_MAX_PKT_SIZE 默認值
在這裏插入圖片描述
在同等條件下,發現接收端已經不存在局部花屏現象,此方案爲最優

參考資料:

https://blog.csdn.net/sz76211822/article/details/87797475

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章