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

相关推荐
月起星九7 小时前
为什么ffmpeg进行视频合成有时长误差
ffmpeg·音视频
长沙红胖子Qt2 天前
FFmpeg开发笔记(十二):ffmpeg音频处理、采集麦克风音频录音为WAV
ffmpeg·pcm·wav·录音·麦克风
aqi002 天前
FFmpeg开发笔记(八十一)FFmpeg代码对RTSP和RTMP的推流区别
ffmpeg·音视频·直播·流媒体
奔跑吧邓邓子3 天前
【C++实战(71)】解锁C++音视频开发:FFmpeg从入门到实战
c++·ffmpeg·实战·音视频
骄傲的心别枯萎3 天前
项目1:FFMPEG推流器讲解(一):FFMPEG重要结构体讲解
linux·ffmpeg·音视频·视频编解码·rv1126
骄傲的心别枯萎4 天前
项目1:FFMPEG推流器讲解(二):FFMPEG输出模块初始化
linux·ffmpeg·音视频·视频编解码·rv1126
筏.k4 天前
FFmpeg 核心 API 系列:av_read_frame / avcodec_send_packet / avcodec_receive_frame
ffmpeg
humors2215 天前
批量M3U8转MP4工具
ffmpeg·视频·mp4·多媒体·转换·m3u8
神洛华5 天前
FFmpeg 全面教程:从安装到高级应用
ffmpeg
筏.k6 天前
FFmpeg 核心 API 系列:avcodec_find_decoder / avcodec_alloc_context3 / avcodec_open2
ffmpeg