软件与依赖安装
- 确保GPU 驱动程序已正确安装。
- 安装必要依赖
sudo apt-get update
sudo apt-get install -y build-essential git cmake pkg-config
- 安装 CUDA 工具包(如果尚未安装)。可以按照 NVIDIA 的官方文档进行安装,保证和drive_vision匹配
- 安装ffnvcodec
- 参考官方链接中的sdk readme,选择
满足你驱动版本的分支
下载编译
git clone -b sdk/11.0 https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install
- 安装video_codec_sdk
sudo cp Interface/* /usr/include
sudo cp Lib/linux/stubs/x86_64/* /usr/lib
- 下载安装
sudo apt-get update
sudo apt-get install yasm
- 下载安装ffmpeg
编译需要一定时间,耐心等待,10-20分钟很常见
git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --enable-hwaccel=cuvid --enable-nvenc --enable-nvdec --enable-cuda --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
make
sudo make install
- 补充依赖
sudo apt-get install libnvidia-encode1
验证
ffmpeg -hwaccels

ffmpeg -i input_video.mp4 -c:v h264_nvenc output_video.mp4
合辑版
#!/bin/sh
dir_name="ffmpeg_dev"
if [ -d "${dir_name}" ]; then
rm -rf "${dir_name}"
mkdir "${dir_name}"
else
mkdir "${dir_name}"
fi
cd ${dir_name}
echo "install video_codec_sdk..."
mkdir video_codec_sdk_dev
cd video_codec_sdk_dev
wget -O video_codec_sdk.zip "https://p26-orange.byteorge.com/obj/ad-tetris-site/file_composite/b309ef2c387c9aead5d5faf9ebc83b63"
unzip -o video_codec_sdk.zip -d video_codec_sdk
cd video_codec_sdk/Video_Codec_SDK_10.0.26/
sudo cp Interface/* /usr/include
sudo cp Lib/linux/stubs/x86_64/* /usr/lib
cd ../../../
echo "video_codec_sdk done<<<"
sudo apt-get update
sudo apt-get install yasm
sudo apt-get install libmp3lame-dev
sudo apt install libvpx-dev
sudo apt install libx264-dev
sudo apt install libx265-dev
sudo apt install libnuma1 libnuma-dev
sudo apt-get install libavdevice-dev
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH
echo "install ffmpeg..."
wget -O ffmpeg.zip "https://tosv.byted.org/obj/ocr-doc/ffmpeg/FFmpeg-release-7.1.zip"
unzip -o ffmpeg.zip -d ffmpeg
rm ffmpeg.zip
cd ffmpeg/FFmpeg-release-7.1
./configure --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libmp3lame --enable-libnpp --enable-nvdec --enable-nonfree --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared
make -j$(nproc)
sudo make install
ffmpeg -hwaccels
cd ../../
echo "ffmpeg done <<<"