FFmpeg解码H264视频流局部花屏解决方法
在項目中使用到了FFmpeg實現(xiàn)屏幕廣播技術(shù),其物理拓?fù)鋱D如下:
由于我們的場景是在局域網(wǎng)中,因此基于FFmpeg的udp協(xié)議進行播放;當(dāng)視頻流是從windows 10 系統(tǒng)播出時,部分接收端存在局部花屏現(xiàn)象現(xiàn)象;
為了驗證花屏問題,我們提出兩種解決方案:
-
控制播放源的發(fā)送數(shù)據(jù)大小
-
增加接收緩存區(qū),避免丟包
方法一:
我們把播放源的計算機網(wǎng)絡(luò)環(huán)境從自動監(jiān)測設(shè)置為100M雙工時,接收端花屏現(xiàn)象就不存在了;但這個極大浪費了當(dāng)前的網(wǎng)絡(luò)帶寬,非優(yōu)選方案
方法二:
通過查詢資料,1920*1080高分辨率情況下,FFmpeg發(fā)送的數(shù)據(jù)會比較大,超過了FFmpeg默認(rèn)最大值,需要擴大接收端的接收緩沖區(qū),其方法修改方法如下:
在FFmpeg的源碼中,找到udp.c文件并修改UDP_MAX_PKT_SIZE 默認(rèn)值
在同等條件下,發(fā)現(xiàn)接收端已經(jīng)不存在局部花屏現(xiàn)象,此方案為最優(yōu)
參考資料:
https://blog.csdn.net/sz76211822/article/details/87797475
總結(jié)
以上是生活随笔為你收集整理的FFmpeg解码H264视频流局部花屏解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2889):如何短时间内实现v
- 下一篇: [html] 写一个布局,它的宽度是不