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还是相当强大的,如果处理音视频出了问题,一般是使用方式不对。

相关推荐
甜到心里的蛋糕13 小时前
AI 生成 MV 音频异响排查:频谱定位、片段替换与 Nginx 缓存
人工智能·python·nginx·ffmpeg·音视频·音频处理
白搞电子2 天前
ESP-Mosaico 音乐驱动动画:节拍检测、RMS 包络与预制动作编排
ffmpeg
FlightYe2 天前
视界原理之3D视频(三):解码和显示
android·linux·3d·ffmpeg·音视频·android runtime
FlightYe2 天前
linux系统编程(十七):内存管理基础
android·linux·ffmpeg·音视频·android runtime
信可维2 天前
用无头 Chrome 逐屏截图 + ffmpeg 拼竖版视频:1080×1920 全流程与 4 个坑
chrome·ffmpeg·音视频
FlightYe2 天前
音视频修炼之容器与协议(二):HLS和DASH流媒体
android·linux·ffmpeg·音视频·android runtime·dash
GreenHandBruce3 天前
基于Qt 6.12.0 + FFmpeg 9.0.2的4k视频播放器
qt·ffmpeg·音视频
Android系统攻城狮3 天前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
开开心心就好3 天前
本地文件搜索工具,双击Ctrl就能呼出搜索
java·服务器·前端·支持向量机·ffmpeg·音视频·模拟退火算法
OH_TPC5 天前
【鸿蒙优选三方库】@ohos/ffmpeg-kit:把 FFmpeg 的全部能量带进鸿蒙
华为·ffmpeg·harmonyos·鸿蒙