FFMPEG对于处理rtp流出现马赛克问题处理

背景

本项目是基于FFMPEG 3.3版本进行的开发。

近期5G发展迅速,无线集群中的带宽不再是瓶颈,对于视频质量的要求也越来越高,现在使用720P、1080P、2K、4K进行视频通话成为了日常。

问题描述

本项目之前对于CIF和VGA格式的视频进行录像,可以正常录制。但是最近测试使用720P、1080P高清视频格式进行通话,录像文件中存在马赛克和花屏现象。视频格式是H264.

开始怀疑是带宽不够,后来经过测试发现其他接收方收到的视频没有马赛克,可以确认是本系统处理视频时有丢帧导致。

问题解决

本系统使用ffmpeg的API直接接收RTP媒体流,经过调研发现设置缓存和视频质量即可解决此问题。

设置方式:

av_dict_set(&opts_v, "buffer_size", "425984", 0);

其中buffer_size的设置可以减少卡顿或者花屏现象,相当于增加或扩大了缓冲区,给予编码和发送足够的时间; 最大值为425984即416k;

ffmpeg还是相当强大的,如果处理音视频出了问题,一般是使用方式不对。

相关推荐
心动啊1214 小时前
FFMPeg在Python中的使用
ffmpeg
猿小路10 小时前
视频流熟知
ffmpeg·h.264
chen_22710 小时前
动态桌面方案
c++·qt·ffmpeg·kanzi
GeniuswongAir1 天前
苹果电脑上启动一个 RTSP 推流,用来做测试
ffmpeg
Benny的老巢1 天前
n8n工作流通过Execute Command用FFmpeg处理音频,报错 stderr maxBuffer length exceeded的解决方案
ffmpeg·音频合成·n8n·n8n工作流·execute command
七夜zippoe2 天前
Spring Data JPA原理与实战 Repository接口的魔法揭秘
java·ffmpeg·事务·jpa·repository
Benny的老巢2 天前
n8n工作流中FFmpeg 视频截取失败排查:文件路径和参数顺序错误解决方案
chrome·ffmpeg·音视频
RockWang.3 天前
【配置】FFmpeg配置环境ubuntu踩坑记录。
ffmpeg
王者鳜錸3 天前
Java使用FFmpeg获取音频文件时长:完整实现与原理详解
java·开发语言·ffmpeg·音频时长
桃杬3 天前
用现代 C++ 封装 FFmpeg:从摄像头采集到 H.264 编码的完整实践
c++·ffmpeg·h.264