Windows上ffmpeg使用GPU硬件加速多路rtsp转HLS直播流
项目需要接入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直播流相关推荐
- 【windows通过修改注册表开启GPU硬件加速】
微软前些日子发布的Windows 10 v2004已经支持硬件加速GPU调度功能 , 可以用来提高中低端显卡的整体显示的性能. 然而并不是所有的用户都能用上高端显卡,像我这种穷的叮当响的都是用低端显卡 ...
- FFmpeg实现dxva2硬件加速
原文地址:https://www.cnblogs.com/betterwgo/p/6125507.html Direct3D device manager,链接:http://www.cnblogs. ...
- [IE9] GPU硬件加速到底是实用创新还是噱头
IE9 的一个重大改进就是使用了GPU硬件加速来渲染网页. 那么GPU硬件加速到底能够带来多大的性能提升? 你可以在IE的测试案例网站(http://ie.microsoft.com/testdriv ...
- matlab win10 gpu加速,win10怎么开启gpu加速有用吗 GPU硬件加速设置方法介绍
win10怎么开启gpu加速有用吗 GPU硬件加速设置方法介绍 作为Windows 10的一项重要功能,微软在分享了GPU硬件加速细节后,现在还为大家送上了开启它的技巧,对于中低端设备来说,提升效果还 ...
- Android 如何使用GPU硬件加速
转自:http://blog.csdn.net/myarrow/article/details/7164638 1.名词解释 GPU:Graphic Processing Unit (图形处理器) O ...
- matlab win10 gpu加速,win10的Edge浏览器设置GPU硬件加速,大幅度提升浏览器性能
不知道大家对于GPU硬件加速是否有了解,这是现在的浏览器必备的功能,开启后能大幅度提升浏览器的性能,给我们更加顺滑的浏览体验.GPU硬件加速能够利用GPU的图形性能,加速渲染网页中的图像信息. 如果我 ...
- css怎么使用gpu加速,用CSS3开启GPU硬件加速来提升网站的动画渲染性能
CSS3为咱们开发动画效果大大提升了效率,但有些动画效果,如果涉及的DOM元素比较多,会发现有"卡卡"的感觉,为动画DOM元素添加CSS3样式 -webkit-transform: ...
- 安卓禁用硬件加速_开/关大不同 Android4.0 GPU硬件加速实测
你也许会觉得Android4.0的升级之处不够多,无法让你有足够动力升级,但很多东西是隐藏在其中等待发掘的.倘若你此前对于Android系统的流畅度(好吧,尤其是应用程序的流畅度)不满,一定不要错过这 ...
- GPU硬件加速的那些优秀的资源总结-续
renderlayerbacking如下: 注:renderlayerbacking负责管理renderlayer所需要的所有的后端存储,因为后端存储可能需要多个存储空间,在webkit中,存储空间使 ...
最新文章
- 内存分配器设计的演进
- kaggle竞赛--房价预测详细解读
- JDBC获得数据库连接及使用
- 文献学习(part26)--Extended Comparisons of Best Subset Selection, Forward Stepwise Selection, and Lasso
- 表格列求和_Excel表格的基本操作,包含制作一个表格10方面的知识
- Atitit. js mvc 总结(2)----angular 跟 Knockout o99 最佳实践
- “office for mac”模板文件的目录
- linux环境(centos7.3)下安装Xilinx FPGA以及烧录算法教程
- SAS9.4安装过程中的sid文件更新
- ATmega16 单片机 AVR单片机 智能风扇控制器
- 给图片加水印最简单的方法
- 网站攻击常见的几种方式
- 创建列表、删除列表、查看列表长度、列表增加一个元素的几种方法
- 线程池的好处,详解,单例(绝对好记)
- 使用scipy.integrate模块中的quad和dblquad方法分别进行单重积分和多重积分
- android 镂空字体下载,Android——自定义镂空掩饰控件
- df_1.columns
- python入门之字符串处理_python基础教程之python字符串处理方法|python基础教程|python入门|python教程...
- 短信系统定制平台组成—移讯云短信系统
- 第七届XCTF国际联赛分站赛L3HCTF圆满落幕,Nepnep战队夺冠
热门文章
- *(长期更新)软考网络工程师学习笔记——Section 20 路由技术原理
- appium安装教程和使用中的问题解决
- 【Java基础】迷宫问题的Java代码实现
- STM32操作24位AD芯片ADS1246
- C++文件eof()函数判断文件是否为空。
- 计算机科学 江西二本大学排名,江西大学排名_江西二本大学排名
- 基于计算机视觉的智能交通监控系统
- [转载]pAppLocale(微软AppLocale修改版,不会有乱码后遗症)+辅助配件
- Win8的Metro界面
- 【Linux】apache的认证授权和访问控制