ffmpeg编译nvdia cuda加速
通过nvidia官方源安装更加省力
https://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#linux-x86_64
# uname -r
5.10.0-16-amd64
# apt install linux-headers-5.10.0-16-amd64
安装环境依赖
apt-get install gnutls-bin \
pkg-config \
libssl-dev \
libgmp3-dev \
libaom-dev \
libass-dev \
libopenal-dev \
libbluray-dev \
libfdk-aac-dev \
libmp3lame-dev \
libopencore-amrnb-dev \
libopencore-amrwb-dev \
libopenmpt-dev \
libopus-dev \
libshine-dev \
libsnappy-dev \
libsoxr-dev \
libspeex-dev \
libtheora-dev \
libtwolame-dev \
libvo-amrwbenc-dev \
libvpx-dev \
libwavpack-dev \
libwebp-dev \
libx264-dev \
libx265-dev \
libxvidcore-dev \
liblzma-dev \
zlib1g-dev \
wget \
texinfo \
libxcb-xfixes0-dev \
libxcb-shm0-dev \
libxcb1-dev \
libvorbis-dev \
libvdpau-dev \
libva-dev \
libtool \
libsdl2-dev \
libfreetype6-dev \
git-core \
cmake
apt-get install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev
2、下载cuda toolkit
https://developer.nvidia.com/cuda-toolkit-archive
# bash cuda_11.7.0_515.43.04_linux.run
里面有带显卡驱动。如果显卡驱动有问题就需要手动另外安装显卡驱动了
其中有个自动加入X桌面配置的选项,选no
添加环境变量
# vi /etc/profile
export PATH="/usr/local/cuda/bin:$PATH"
export LD_LIBRARY_PATH="/usr/lcoal/cuda/lib64:$LD_LIBRARY_PATH"
nvcc --version和nvidia-smi可以正常执行以后开始编译
3、下载编译
# git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
# cd nv-codec-headers
# make install
# cd ..
# git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
# cd ffmpeg
# ./configure --prefix=/usr/local/ffmpeg_x86_64-linux-gpu \
--pkg-config-flags="--static" \
--enable-gpl \
--enable-version3 \
--enable-libspeex \
--enable-libmp3lame \
--enable-libvorbis \
--enable-shared \
--enable-libfdk-aac \
--enable-libass \
--enable-libfontconfig \
--enable-libfreetype \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopus \
--enable-opencl \
--enable-libxcb \
--enable-opengl \
--enable-libtheora \
--enable-libtwolame \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libxvid \
--enable-nonfree \
--enable-cuda-nvcc \
--enable-openal \
--enable-openssl \
--enable-cuvid \
--enable-nvenc \
--enable-vaapi \
--enable-vdpau \
--enable-ffnvcodec \
--enable-ffplay \
--enable-ffprobe \
--enable-nvdec \
--enable-libnpp \
--extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64
# make -j 8
# make install
添加变量环境
# vi /etc/profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ffmpeg_x86_64-linux-gpu/lib
export PATH=$PATH:/usr/local/ffmpeg_x86_64-linux-gpu/bin
# vi /etc/ld.so.conf.d/ffmpeg-lib.conf
/usr/local/ffmpeg_x86_64-linux-gpu/lib
4、验证
# ffmpeg -codecs | grep nv
参考
https://www.nvidia.com/en-us/drivers/unix/
https://blog.csdn.net/m0_38101947/article/details/126520447、