您的位置 首页 每日好文

ffmpeg硬件加速 amd

FFmpeg是免费和开源的视频转换软件,适用于Linux和类unix系统。然而,在Ubuntu/Debian Linux和其他发行版上,NVIDIA基于硬件的编码在编译时被禁用。所以,自然地,你需要支持NVIDIA的GPU。除此之外,最好在GNU编译器中安装CUDA支持。让我们来看看如何在一个由Ubuntu或Debian Linux驱动的服务器或桌面上一个一个地安装所有组件。

我在Ubuntu Linux 20.04 LTS上测试。我安装了NVIDIA驱动程序版本460和CUDA版本10.1。我的GPU是GeForce GTX 1650。让我们看看如何在Linux上安装支持NVIDIA GPU硬件加速的FFmpeg。

安装FFmpeg与NVIDIA GPU硬件加速Linux

1、首先,确保在Ubuntu或Debian上安装了Nvidia Driver(最新专有驱动程序)。例如:

sudo apt install nvidia-driver-460

2、重启Linux系统:

sudo reboot

3、接下来你需要在Debian或Ubuntu Linux上使用apt命令或apt-get命令安装CUDA工具包:

sudo apt install nvidia-cuda-toolkit

4、要用NVIDIA编译ffmpeg,我们也需要ffnvcodec。克隆git存储库:

mkdir ~/nvidia/ && cd ~/nvidia/git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git

5、在Ubuntu或Debian上安装ffnvcodec:

cd nv-codec-headers && sudo make install

6、获取ffmpeg源代码,运行:

cd ~/nvidia/git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/

7、安装GNU gcc编译器集合和库,运行:

sudo apt install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev

8、配置ffmpeg与NVIDIA GPU支持:

cd ~/nvidia/ffmpeg/./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64

9、编译、执行:

make -j $(nproc)

10、可执行验证:

ls -l ffmpeg./ffmpeg

11、你现在可以使用-hwaccel cuda开关进行编码。例如:

ffmpeg -y -hwaccel cuda -i input.file output.file

如何查看NVIDIA gpu统计数据和加载而使用ffmpeg

使用以下命令:

nvidia-smi

一定要试试nvtop。NVIDIA GPU状态查看器:

nvtop

ffmpeg硬件加速 amd

结束:

我们转换一个视频格式,不用加速器,mkv 转换到mp4:

time /bin/ffmpeg -y -i /tmp/input.mkv /tmp/out.mp4

使用time命令的输出:

real 1m40.678suser 16m52.159ssys 0m7.821s

现在相同的文件用NVIDIA GPU加速(注意路径,我调用编译版本):

time ~/ffmpeg/ffmpeg -hwaccel cuda -y -i /tmp/input.mkv /tmp/out.mp4

使用time命令的输出:

real 0m28.494suser 1m58.659ssys 0m3.670s

从上您了解了如何在Debian或Ubuntu Linux上安装支持NVIDIA GPU加速硬件的FFmpeg,以加快FFmpeg命令的编码速度。如果能帮助到你请帮我点赞!

关于作者: tangshenmengchon

本文章来自互联网上面收集整理,如有涉嫌抄袭侵权/违法违规的内容, 请发邮箱(yjhtillusiveukl@qq.com)举报,一经查实,本站将立刻删除。

热门文章