FFmpeg解码H264视频流局部花屏解决方法

在项目中使用到了FFmpeg实现屏幕广播技术,其物理拓扑图如下:
FFmpeg解码H264视频流局部花屏解决方法_第1张图片
由于我们的场景是在局域网中,因此基于FFmpeg的udp协议进行播放;当视频流是从windows 10 系统播出时,部分接收端存在局部花屏现象现象;

为了验证花屏问题,我们提出两种解决方案:

  • 控制播放源的发送数据大小

  • 增加接收缓存区,避免丢包

方法一:

我们把播放源的计算机网络环境从自动监测设置为100M双工时,接收端花屏现象就不存在了;但这个极大浪费了当前的网络带宽,非优选方案

方法二:

通过查询资料,1920*1080高分辨率情况下,FFmpeg发送的数据会比较大,超过了FFmpeg默认最大值,需要扩大接收端的接收缓冲区,其方法修改方法如下:

在FFmpeg的源码中,找到udp.c文件并修改UDP_MAX_PKT_SIZE 默认值
在这里插入图片描述
在同等条件下,发现接收端已经不存在局部花屏现象,此方案为最优

参考资料:

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

你可能感兴趣的:(音视频)