[FFmpeg] nvidia 加速 ffmpeg
ffmpeg 是可以使用 nvidia 加速的。但这个仅对 ffmpeg 编解码视频有用。只有当你使用 ffmpeg 编解码大量高清长视频时才有用。
参考文档
- https://trac.ffmpeg.org/wiki/HWAccelIntro
- https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/
文章目录
- 安装 nvidia-460 + cuda-11.2
- 安装 ffnvcodec 头文件
- 编译 ffmpeg
- 测试
安装 nvidia-460 + cuda-11.2
参考这篇 文章
安装 ffnvcodec 头文件
头文件和库文件会安装在 /usr/local/。
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install
为了能在 /usr/local/lib 中找到 pkgconfig,添加环境变量。
vim ~/.bashrc
# 文件末尾添加
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# 使之生效
source ~/.bashrc
编译 ffmpeg
以 ffmpeg-4.3.1 为例。
http://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
tar -zxf ffmpeg-4.3.1.tar.gz
cd ffmpeg-4.3.1
mkdir build && cd build
./../configure --prefix=/usr/local/ffmpeg --enable-shared --enable-nonfree --enable-cuda-nvcc --enable-cuda-llvm --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
如果 configure 失败并报告 cuda-nvcc 出错,查看编译日志
vim ffbuild/config.log
如果文件末尾说是因为计算能力不匹配导致,那么修改 configure 文件。在文件内搜索 30,找到如下内容。把 30 改为自己 GPU 的计算能力。
<<<<<<<<<<<
if enabled cuda_nvcc; thennvcc_default="nvcc"nvccflags_default="-gencode arch=compute_30,code=sm_30 -O2"
else
>>>>>>>>>>>
if enabled cuda_nvcc; thennvcc_default="nvcc"nvccflags_default="-gencode arch=compute_61,code=sm_61 -O2"
else
重新 configure,将会看到所有的硬件加速
External libraries providing hardware acceleration:
cuda cuvid nvdec vaapi
cuda_llvm ffnvcodec nvenc vdpau
cuda_nvcc libnpp v4l2_m2m
现在可以编译了
make
sudo make install
在 ~/.bashrc 中添加环境变量
vim ~/.bashrc
# 文件末尾添加
export PATH=/usr/local/ffmpeg/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH
# 使之生效
source ~/.bashrc
测试
you can use NVENC:
ffmpeg -i input -c:v h264_nvenc -profile high444p -pixel_format yuv444p -preset default output.mp4
Sample decode using CUDA:
ffmpeg -hwaccel cuda -i input output
Sample decode using CUVID:
ffmpeg -c:v h264_cuvid -i input output
Full hardware transcode with NVDEC and NVENC:
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input -c:v h264_nvenc -preset slow output
If ffmpeg was compiled with support for libnpp, it can be used to insert a GPU based scaler into the chain:
ffmpeg -hwaccel_device 0 -hwaccel cuda -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv
[FFmpeg] nvidia 加速 ffmpeg相关推荐
- FFMPEG NVIDIA硬件加速总结
目录 1.NVDIA概述 2.FFmpeg集成到GPU 3.FFmpeg uses Video Codec SDK 4.ffmpeg对NVIDIA GPU的编译步骤 4.1configure命令 4. ...
- [FFMPEG硬件加速]nvidia方案
1.目标 <1>显卡性能参数: <2>方案可行性: 2.平台信息 2.1.查看当前显卡信息 命令: lspci |grep VGA 信息: 01:00.0 VGA com ...
- ffmpeg Nvidia硬件加速总结
0. 概述 FFmpeg可通过Nvidia的GPU进行加速,其中高层接口是通过Video Codec SDK来实现GPU资源的调用.Video Codec SDK包含完整的的高性能工具.源码及文档,支 ...
- NVIDIA GPU加速FFmpeg
一.参考资料 使用GPU硬件加速FFmpeg视频转码 二.重要指令 查看支持的硬件加速选项 ffmpeg -hwaccels 查看cuvid提供的GPU编解码器 ffmpeg -codecs | gr ...
- FFmpeg 硬件加速方案概览 (下)
被称为"多媒体技术领域的瑞士军刀",FFmpeg拥有广泛的应用基础.不过,当(实时)处理海量视频时,需要借助各种方法提升效率.比如,短视频平台Revvel将视频转码服务迁移到AWS ...
- ffmpeg 分辨率 压缩_用GPU加速FFmpeg中的超分辨率功能
1. 简要回顾 首先简单复述一下FFmpeg中对深度学习的支持情况,如上图所示,FFmpeg在libavfilter中支持基于深度学习的filter,目前已经支持sr, derain和dnn_proc ...
- 使用GPU硬件加速FFmpeg视频转码
最近看了些视频处理相关的文章,这里有一篇是讲如何使用Nvidia显卡为视频的编解码进行加速的, 为了方便查阅就转载了: 本文内容包括: 在Linux环境下安装FFmpeg 通过命令行实现视频格式识别和 ...
- 用GPU加速FFmpeg中的超分辨率功能
1. 简要回顾 首先简单复述一下FFmpeg中对深度学习的支持情况,如上图所示,FFmpeg在libavfilter中支持基于深度学习的filter,目前已经支持sr, derain和dnn_proc ...
- 从 FFmpeg 性能加速到端云一体媒体系统优化
简介:7 月 31 日,阿里云视频云受邀参加由开放原子开源基金会.Linux 基金会亚太区.开源中国共同举办的全球开源技术峰会 GOTC 2021 ,在大会的音视频性能优化专场上,分享了开源 FFmp ...
最新文章
- 使用rancher 搭建docker集群
- find 命令_linux中find命令的使用
- NickLee.FortuneBase数据库sql server版工具篇
- 【PAT甲级 删除字符串中的指定字符】1050 String Subtraction (20 分) C++
- 665. Non-decreasing Array - LeetCode
- lightoj 1020 (博弈水题)
- 工作42:可以不参考原型
- 开源前端 可视化大数据交互前端动态模板
- 有向无环图DAG 拓扑排序 代码解释
- 【特色团队采访】慌呀哩团队,用简洁算法达成高效协作
- 统计计量丨统计学公开课大盘点(附下载)
- 爬虫项目实战1——爬取天善课程
- CAD的那些装逼技巧!
- 计算机操作系统(四)
- 认识DDR SDRAM
- HttpClient如何进行ssl连接呢?
- 【GANs】Deep Convolution Generative Adversarial Network
- 公博评级06代表什么_钱币公博评级上72(05)什么意思?
- 看完电视剧“天道“的第一次感想记录
- 数据结构 图的邻接表和邻接矩阵实现———c语言
热门文章
- html财务统计,财务统计.html · 举子/layuiadmin-templete - Gitee.com
- mysql i优化_mysql优化 - ifeixiang的个人页面 - OSCHINA - 中文开源技术交流社区
- java发送html附件_Java发送邮件(图片、附件、HTML)
- Linux下逻辑卷LVM的管理和RAID磁盘阵列
- 记一次微信数据库解密过程
- 利用cookie爬取QQ邮箱的python脚本
- 2019 蓝桥杯省赛 A 组模拟赛(一)阶乘位数
- nlp-tutorial代码注释3-2,LSTM简介
- Python中如何设置函数的默认值
- CUDA——Ubuntu系统上CUDA和cuDNN的安装教程