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

用EasyAVFilter将网络文件或者本地文件推送RTMP出去的时候发现CPU占用好高,用的也是vcodec copy呀,什么原因?

最近同事在用EasyAVFilter集成在EasyDarwin中做视频拉流转推RTMP流的功能的时候,发现怎么做CPU占用都会很高,但是视频没有调用转码,vcodec用的就是copy,这是什么原因呢?

我们用在线的RTSP流就不会出现这种情况!

思考一下,我们发现,原来是因为当ffmpeg如果是读取视频文件流的时候,如果源端(比如文件或者http下载文件)没有流控,就是一股脑请求到一堆数据来的时候,发送是发送不完的,但是请求几乎是瞬间就把数据拉到了缓冲区,再加上-stream_loop -1的选项,源源不断的数据就洪水而至,导致发送根本忙不过来,结果CPU就增加了,于是,我们加了一个 -re 参数,有序地读取网络流或者文件流,这样就能解决好这种源数据没有流控的情况了,看图:

EasyAVFilter

这里还有一个现象,当 -re 参数放错了位置,比如放到了-i xxx.mp4后面了,就会报:

Error parsing options for output file rtmp://127.0.0.1:10035/live/IdHBMRNIR?sign=IdHfagHSgz Error 
opening output files: Invalid argument

EasyAVFilter

所以-re要放到最前面!

http://www.lryc.cn/news/241269.html

相关文章:

  • Vatee万腾科技的独特力量:Vatee数字时代创新的新视野
  • 【JavaSE】基础笔记 - 异常(Exception)
  • QTableWidget——编辑单元格
  • 编译QT Mysql库并集成使用
  • 利用企业被执行人信息查询API保障商业交易安全
  • 【深度学习】P1 深度学习基础框架 - 张量 Tensor
  • vue2 识别页面参数中的html
  • matlab 一些画图法总结(持续更新)
  • MDK AC5和AC6是什么?在KEIL5中添加和选择ARMCC版本
  • 杰发科技AC7801——EEP内存分布情况
  • 【mybatis注解实现条件查询】
  • 【广州华锐互动】VR线上课件制作软件满足数字化教学需求
  • MySQL 中 DELETE 语句中可以使用别名么?
  • flutter创建不同样式的按钮,背景色,边框,圆角,圆形,大小都可以设置
  • 【C++】标准模板库STL作业(其二)
  • 基于SpringBoot+Redis实现点赞/排行榜功能,可同理实现收藏/关注功能,可拓展实现共同好友/共同关注/关注推送功能
  • AI“胡说八道”?怎么解?
  • [SIGGRAPH-23] 3D Gaussian Splatting for Real-Time Radiance Field Rendering
  • 大话设计模式C++实现
  • IT 领域中的主要自动化趋势
  • 使用Python解析CAN总线
  • DevExpress中文教程 - 如何在macOS和Linux (CTP)上创建、修改报表(下)
  • RAID的应用场景以及优缺点
  • java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案 小程序商城免费搭建
  • [Linux] shell脚本的函数和数组
  • 万宾科技智能井盖的效果怎么样?
  • nvm切换版本之后npm用不了
  • 【elementui】el-popover在列表里循环使用,取消的doClose无效解决办法
  • 【php】解决加载速度慢导出超时问题记录
  • postgresql安装fdw扩展