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

usb_camera传输视频流编码的问题记录!

前言:

大家好,今天给大家分享的内容是,一个vip课程付费的朋友,在学习过程中遇到了一个usb采集的视频数据流,经过ffmpeg编码,出现了问题:

d46dd17471233feadaf15aa18369ff29.png

问题分析:

其实这个问题不难,关键是要找到是什么原因导致编码压缩后的裸流h264视频解码出现问题。其中这里说的解码会变快,对于视频来说,一般是帧率不对:

89af2e69a2080dc1daae44ec4f990a97.png aa04d3658d2bd62f1f005612820d4bf7.png

从这个描述来看,很明显是数据源的问题,但是呢,这位朋友由于usb_camera驱动不是他搞得,因为底层驱动写死的fps是30帧,所以不太相信是源的问题;但是这里也不太可能是ffmpeg的x264编码器问题,所以呢,我就给这位朋友,分享了一个对比的方法去debug:

0744bcb18ebf44387c7269bd48805f3e.png f4bb85774e41607dd2d890d1098d2ed2.png

我让他去电脑ubuntu上,搞一个编码的demo,先确保自己的编码代码没有问题,后面去测试,果然是源的问题!

这里也总结一下,有时候,遇到问题,要大胆怀疑源的问题,因为有些做camera底层驱动的朋友,他不懂上层的音视频技术,所以可能导致发送给上层的数据流出现问题,有可能写完驱动,没有去测试数据流的正确性,而且上层的业务需求也是多样性的!当然,也折射出,做上层的音视频开发,对底层驱动,比如camera驱动框架不了解,也是很吃亏的!

同时这里也总结一下,在平时或者工作当中,遇到音视频的问题,一定要有解决思路和debug问题的方法,如果你没有方法去定位到问题的具体点,那基本很难解决这个问题,更别说是给出解决问题的方案了!

以上就是今天的内容分享,希望对大家有用!

相关文章:

  • Elasticsearch 聚合函数返回空数组|查询返回空内容 rs里有数据
  • 海康Ehome2.0与5.0设备接入EasyCVR视频汇聚平台时的配置区别
  • 穿越代码之海:探寻结构体深层逻辑,展望未来应用新天地
  • webpack环境配置分类结合vue使用
  • 蓝桥杯算法题:最大比例
  • 金融企业区域集中库的设计构想和测试验证
  • kubeadm部署的k8s1.29集群证书更新
  • 微信小程序中实现埋点的方法
  • flink1.18源码本地调试环境
  • 如何操作RAID 0阵列的扩容?
  • MongoDB初探:安装与图形化界面保姆级使用指南
  • 面试算法-132-和至少为 K 的最短子数组
  • 迷茫下是自我提升
  • Qt——Qt绘图之QPainter的使用总结(使用paintEvent实现旋转图片效果)
  • Oracle23免费版简易安装攻略
  • Android系统模拟器绘制实现概述
  • CSS实用技巧干货
  • Java深入 - 深入理解Java集合
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Linux中的硬链接与软链接
  • NSTimer学习笔记
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Python语法速览与机器学习开发环境搭建
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Spring核心 Bean的高级装配
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • vue-router的history模式发布配置
  • 分布式事物理论与实践
  • 关于 Cirru Editor 存储格式
  • 关于使用markdown的方法(引自CSDN教程)
  • 简析gRPC client 连接管理
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • ​flutter 代码混淆
  • # 数论-逆元
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $.ajax中的eval及dataType
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (33)STM32——485实验笔记
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (五)c52学习之旅-静态数码管
  • (转)http协议
  • (转)setTimeout 和 setInterval 的区别
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .net 4.0发布后不能正常显示图片问题
  • .NET中的Exception处理(C#)
  • @Service注解让spring找到你的Service bean
  • @拔赤:Web前端开发十日谈