FFmpeg启用GPU加速
2025-02-27 来源:胡子哥视频压缩启用GPU加速:ffmpeg -hwaccel cuvid -hwaccel_device 0 -i xxx.mp4 -r 30 -crf 20 -b:v 1000k -c:v h264_nvenc xxx-1.mp4 其中 -hwaccel cuvid -hwaccel_device 0 就是启用GPU加速
1. 确认GPU驱动和硬件支持
首先,确保你的系统已经安装了正确的GPU驱动,并且GPU硬件支持GPU加速。你可以通过运行nvidia-smi(对于NVIDIA GPU)或相应的命令来检查GPU的状态和驱动版本。
2. 安装适配GPU的FFmpeg版本
FFmpeg需要编译以支持GPU加速。你可以从源代码编译FFmpeg,并确保在编译过程中启用了GPU加速相关的选项。例如,对于NVIDIA GPU,你需要启用--enable-cuda、--enable-cuvid和--enable-nvenc等选项。
bash
Copy Code
cd ffmpeg
./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
make
sudo make install
3. 查找适合的GPU加速编解码器
使用ffmpeg -codecs命令查看FFmpeg支持的编解码器,并筛选出支持GPU加速的编解码器。例如,对于NVIDIA GPU,你可以使用grep cuvid来筛选出支持CUDA的编解码器。
ffmpeg -codecs | grep cuvid
4. 在FFmpeg命令中使用适当的编解码器和参数来启用GPU加速
在FFmpeg命令中,通过添加-hwaccel、-hwaccel_device、-c:v等参数来启用GPU加速。以下是一个示例命令,用于将视频文件使用GPU进行转码:
重点是这一段参数:-hwaccel cuvid -hwaccel_device 0
ffmpeg -hwaccel cuvid -hwaccel_device 0 -c:v h264_cuvid -i input.mp4 -c:v h264_nvenc -b:v 2M -vf scale_npp=1280:720 output.mp4
在这个命令中:
-hwaccel cuvid指定使用CUDA硬件加速。
-hwaccel_device 0指定使用第一个GPU设备。
-c:v h264_cuvid指定使用CUDA解码器进行视频解码。
-c:v h264_nvenc指定使用NVIDIA编码器进行视频编码。
-vf scale_npp=1280:720使用NVIDIA性能原语(NPP)库进行视频缩放。
5. 测试并验证GPU加速是否生效
在运行FFmpeg命令时,可以通过nvidia-smi命令或相应的系统监控工具来观察GPU的使用情况,以确认GPU加速是否生效。如果GPU使用率显著增加,则说明GPU加速已经启用。
最新评论