当前位置: 首页 > news >正文

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

相关文章:

  • [超细] npm 版本号规范升级流程
  • jvm(虚拟机)运行时数据区域介绍
  • Vue挂载全局方法
  • Docker 夺命连环 15 问
  • 【深度学习】YOLO检测器的发展历程
  • Java并发编程: 第九章 异步编程
  • 图解Kafka架构学习笔记(二)
  • 【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析
  • DC电源模块的设计与制造流程
  • 基于Python的商品评论文本情感分析
  • 【Pt】马灯贴图绘制过程 02-制作锈迹
  • 字符串的函数
  • 跟着cherno手搓游戏引擎【29】Batch简单合批
  • RSTP环路避免实验(华为)
  • 图论之路径条数专题
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • CSS盒模型深入
  • CSS实用技巧
  • CSS实用技巧干货
  • Fabric架构演变之路
  • JDK 6和JDK 7中的substring()方法
  • mysql外键的使用
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • tweak 支持第三方库
  • 安卓应用性能调试和优化经验分享
  • 初识 webpack
  • 从零开始的无人驾驶 1
  • 力扣(LeetCode)56
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 使用 Docker 部署 Spring Boot项目
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​卜东波研究员:高观点下的少儿计算思维
  • #define
  • $ git push -u origin master 推送到远程库出错
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (9)目标检测_SSD的原理
  • (C语言)逆序输出字符串
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十)T检验-第一部分
  • (五)IO流之ByteArrayInput/OutputStream
  • 、写入Shellcode到注册表上线
  • ..回顾17,展望18
  • .CSS-hover 的解释
  • .NET CLR基本术语
  • .NET gRPC 和RESTful简单对比
  • .net 微服务 服务保护 自动重试 Polly
  • .NET6 命令行启动及发布单个Exe文件
  • .NET单元测试
  • .NET企业级应用架构设计系列之开场白
  • .net通用权限框架B/S (三)--MODEL层(2)