在执行下面的操作之前,确保以下情况:
nvcc -V
cuda路径:/usr/local/cuda-11.6/lib64
export CUDA_HOME=/usr/local/cuda-11.6
nv-codec-headers
安装路径:
# git clone
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
# 可使用 git tag 查看可选的版本,我选择的是n11.0.10.2
git checkout n11.0.10.2 -b nv-codec-headers
# 查看该分支版本支持的驱动版本是否满足自己驱动的版本要求(,若不满足则再次切换其他版本查看下图)
cat README
# 满足版本要求后Install
make
sudo make install && cd ..
# 通过pkg-config 验证ffnvcodec,如果找不到,把ffnvcodec.pc路径添加到PKG_CONFIG_PATH
pkg-config --modversion ffnvcodec
ffmpeg编码库
安装路径:
# Clone
git clone https://code.videolan.org/videolan/x264.git
# Install
cd x264
./configure --disable-asm --enable-shared --enable-pic
make
sudo make install
# 也可通过以下命令直接安装
sudo apt-get install x264 libx264-dev
ffmpeg
# 下载ffmpeg
https://git.ffmpeg.org/ffmpeg.git
cd ./ffmpeg
./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda-11.6/include --extra-ldflags=-L/usr/local/cuda-11.6/lib64
make -j 10
# 测试
./ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i test.mp4 -vf scale_npp=1920:1072 -vcodec h264_nvenc 1.mp4 -vf scale_npp=1280:720 -vcodec h264_nvenc 2.mp4
ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -init_hw_device cuda=2 -i test.mp4 -vf scale_npp=1920:1072 -vcodec h264_nvenc -filter_hw_device gpu_id 1.mp4 -vf scale_npp=1280:720 -vcodec h264_nvenc -filter_hw_device gpu_id 2.mp4