本次安装系统是ubuntu20.04.
本文将GPU 加速的视频处理集成到最流行的开源多媒体工具中。FFmpeg 是最受欢迎的开源多媒体操作工具之一,其插件库可应用于音频和视频处理管道的各个部分,并已在全球范围内广泛采用。下图是GPU加速框架图:

安装ffmpeg之前要安装好CUDA,可以参考我的 博客.
接着开始安装。
1、安装nvcodec
下载:
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
安装:
cd nv-codec-headers && sudo make install
2、安装ffmpeg
打开ffmpeg官网下载最新稳定版。
解压:
tar -xvf ffmpeg_4.2.2.orig.tar.xz
解压后的包重命名为ffmpeg
安装依赖:
sudo apt-get -y install build-essential pkg-config checkinstall git libfaac-dev libgpac-dev ladspa-sdk-dev libunistring-dev libbz2-dev \
libjack-jackd2-dev libmp3lame-dev libsdl2-dev libopencore-amrnb-dev libopencore-amrwb-dev libvpx-dev libx264-dev libx265-dev libxvidcore-dev libopenal-dev libopus-dev \
libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev \
libxfixes-dev texi2html yasm zlib1g-dev
进行配置(当然也可以加入其它的选项)
./configure --prefix=/usr/local/ffmpeg --enable-shared \
--enable-nonfree --enable-gpl --enable-version3 \
--enable-libmp3lame --enable-libvpx --enable-libopus \
--enable-opencl --enable-libxcb --enable-avresample\
--enable-opengl --enable-nvenc --enable-vaapi \
--enable-vdpau --enable-ffplay --enable-ffprobe \
--enable-libxvid \
--enable-libx264 --enable-libx265 --enable-openal \
--enable-openssl --enable-cuda-nvcc --enable-cuvid --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
然后反复安装过程解决两个报错。
第一个:ERROR: openssl not found
查看报错日志:ffbuild/config.log
解决:
sudo apt-get install libssl-dev
第二个错误:ERROR: failed checking for nvcc.
查看报错日志:Cuda.o Error 255 / unsupported gpu architecture ‘compute_30’ during installation: https://github.com/lvaccaro/truecrack/issues/32. It’s said you need to support architecture by your nvidia card.
修改configure文件:把30改成35
if enabled cuda_nvcc; then
nvcc_default="nvcc"
nvccflags_default="-gencode arch=compute_35,code=sm_35 -O2"
else
nvcc_default="clang"
nvccflags_default="--cuda-gpu-arch=sm_35 -O2"
NVCC_C=""
fi
接着进行安装
make -j8
sudo make install
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/bin/ffprobe
sudo ln -s /usr/local/ffmpeg/bin/ffplay /usr/bin/ffplay
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
sudo ln -s /usr/local/ffmpeg/bin/ffplay /usr/local/bin/ffplay
sudo vim /etc/ld.so.conf.d/ffmpeg.conf
在其中添加路径:/usr/local/ffmpeg/lib
sudo ldconfig#更新环境变量
到此,安装完成,进行验证:
ffmpeg -version
本文参考:
[1] https://blog.csdn.net/TracelessLe/article/details/107362505
[2] https://rendulic.me/install-ffmpeg-on-ubuntu-20-04-with-cuda/
[3] https://blog.csdn.net/u014217137/article/details/127825726
[4]https://blog.csdn.net/heqingchun16/article/details/127375626
参见第四个就可以,也很好,有下载包,完整下载使用就行。
整个安装可以是自己指定安装跑径就行,要使用可以使用.bashrc环境变最,path来使用bin的可执行文件,LD_LIBRARY_PATH使用lib就可以。