项目需要接入20多路rtsp转hls视频流,机器的CPU为i9-10900,显卡为P2200。

CPU转码

最开始测试使用脚本:

start ./ffmpeg -i rtsp://<账号>:<密码>@<IP>:554/Streaming/Channels/101 -c:v libx264 -c:a copy -f hls -threads 8 -hls_time 5 -hls_list_size 8 -hls_wrap 8  db1.m3u8
  • -i 输入
  • -c:v libx264 使用h264编码
  • -c:a copy 拷贝所有流
  • -f hls 生成hls流。HTTP Live Streaming,是苹果出的一个基于HTTP的流媒体通信协议
  • -threads 8 以8个线程运行
  • -hls_time 5 设置TS切片时间为5
  • -hls_list_size 8 HLS播放的列表
  • -hls_wrap 8 hls_wrap则表示为最大的TS循环数,也就是每8个一个循环

使用多行start这样的脚本,发现当数量达到5~7路之后,视频质量下降,出现许多涂抹画面,根本没法看。原因是CPU已经满载,所以想支持更多路视频只能去找GPU加速的方法。

GPU加速转码

首先安装CUDA

个人理解的CUDA就是可供开发者调用显卡进行处理运算的通道。通过英伟达官网,下载对应系统、版本的安装程序进行安装。注意,不是所有的英伟达显卡、驱动版本都支持CUDA。

使用编译好的ffmpeg

使用已经编译好的ffmpeg,可以通过:

ffmpeg -decodersffmpeg -encoders

这两个命令行可以查看ffmpeg支持的解码器、编码器名称。其中包含“xxx_amf”,“xxx_nvenc”,"xxx_qsv"等就证明可以调用显卡

使用

start ./ffmpeg -i  rtsp://<账号>:<密码>@<IP>:554/Streaming/Channels/101 -vcodec h264_nvenc -c:a copy -f hls -threads 8 -hls_time 5 -hls_list_size 8 -hls_wrap 8 db1.m3u8

注意,这时-vcodec(与上面的-c:v相同)指定视频解码器为h264_nvenc

实测同时开启21路视频后,视频全部编码正常,CPU占用率极低,显卡3D性能占用月50%~60%

Windows上ffmpeg使用GPU硬件加速多路rtsp转HLS直播流相关推荐

  1. 【windows通过修改注册表开启GPU硬件加速】

    微软前些日子发布的Windows 10 v2004已经支持硬件加速GPU调度功能 , 可以用来提高中低端显卡的整体显示的性能. 然而并不是所有的用户都能用上高端显卡,像我这种穷的叮当响的都是用低端显卡 ...

  2. FFmpeg实现dxva2硬件加速

    原文地址:https://www.cnblogs.com/betterwgo/p/6125507.html Direct3D device manager,链接:http://www.cnblogs. ...

  3. [IE9] GPU硬件加速到底是实用创新还是噱头

    IE9 的一个重大改进就是使用了GPU硬件加速来渲染网页. 那么GPU硬件加速到底能够带来多大的性能提升? 你可以在IE的测试案例网站(http://ie.microsoft.com/testdriv ...

  4. matlab win10 gpu加速,win10怎么开启gpu加速有用吗 GPU硬件加速设置方法介绍

    win10怎么开启gpu加速有用吗 GPU硬件加速设置方法介绍 作为Windows 10的一项重要功能,微软在分享了GPU硬件加速细节后,现在还为大家送上了开启它的技巧,对于中低端设备来说,提升效果还 ...

  5. Android 如何使用GPU硬件加速

    转自:http://blog.csdn.net/myarrow/article/details/7164638 1.名词解释 GPU:Graphic Processing Unit (图形处理器) O ...

  6. matlab win10 gpu加速,win10的Edge浏览器设置GPU硬件加速,大幅度提升浏览器性能

    不知道大家对于GPU硬件加速是否有了解,这是现在的浏览器必备的功能,开启后能大幅度提升浏览器的性能,给我们更加顺滑的浏览体验.GPU硬件加速能够利用GPU的图形性能,加速渲染网页中的图像信息. 如果我 ...

  7. css怎么使用gpu加速,用CSS3开启GPU硬件加速来提升网站的动画渲染性能

    CSS3为咱们开发动画效果大大提升了效率,但有些动画效果,如果涉及的DOM元素比较多,会发现有"卡卡"的感觉,为动画DOM元素添加CSS3样式 -webkit-transform: ...

  8. 安卓禁用硬件加速_开/关大不同 Android4.0 GPU硬件加速实测

    你也许会觉得Android4.0的升级之处不够多,无法让你有足够动力升级,但很多东西是隐藏在其中等待发掘的.倘若你此前对于Android系统的流畅度(好吧,尤其是应用程序的流畅度)不满,一定不要错过这 ...

  9. GPU硬件加速的那些优秀的资源总结-续

    renderlayerbacking如下: 注:renderlayerbacking负责管理renderlayer所需要的所有的后端存储,因为后端存储可能需要多个存储空间,在webkit中,存储空间使 ...

最新文章

  1. 内存分配器设计的演进
  2. kaggle竞赛--房价预测详细解读
  3. JDBC获得数据库连接及使用
  4. 文献学习(part26)--Extended Comparisons of Best Subset Selection, Forward Stepwise Selection, and Lasso
  5. 表格列求和_Excel表格的基本操作,包含制作一个表格10方面的知识
  6. Atitit. js mvc 总结(2)----angular 跟 Knockout o99 最佳实践
  7. “office for mac”模板文件的目录
  8. linux环境(centos7.3)下安装Xilinx FPGA以及烧录算法教程
  9. SAS9.4安装过程中的sid文件更新
  10. ATmega16 单片机 AVR单片机 智能风扇控制器
  11. 给图片加水印最简单的方法
  12. 网站攻击常见的几种方式
  13. 创建列表、删除列表、查看列表长度、列表增加一个元素的几种方法
  14. 线程池的好处,详解,单例(绝对好记)
  15. 使用scipy.integrate模块中的quad和dblquad方法分别进行单重积分和多重积分
  16. android 镂空字体下载,Android——自定义镂空掩饰控件
  17. df_1.columns
  18. python入门之字符串处理_python基础教程之python字符串处理方法|python基础教程|python入门|python教程...
  19. 短信系统定制平台组成—移讯云短信系统
  20. 第七届XCTF国际联赛分站赛L3HCTF圆满落幕,Nepnep战队夺冠

热门文章

  1. *(长期更新)软考网络工程师学习笔记——Section 20 路由技术原理
  2. appium安装教程和使用中的问题解决
  3. 【Java基础】迷宫问题的Java代码实现
  4. STM32操作24位AD芯片ADS1246
  5. C++文件eof()函数判断文件是否为空。
  6. 计算机科学 江西二本大学排名,江西大学排名_江西二本大学排名
  7. 基于计算机视觉的智能交通监控系统
  8. [转载]pAppLocale(微软AppLocale修改版,不会有乱码后遗症)+辅助配件
  9. Win8的Metro界面
  10. 【Linux】apache的认证授权和访问控制