龙空技术网

基于cuda的ffmpeg源码安装

音视频流媒体技术 92

前言:

如今同学们对“ubuntulibva”大致比较着重,看官们都需要剖析一些“ubuntulibva”的相关资讯。那么小编同时在网络上网罗了一些对于“ubuntulibva””的相关资讯,希望同学们能喜欢,同学们一起来学习一下吧!

本次安装系统是ubuntu20.04.

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

安装ffmpeg之前要安装好CUDA,可以参考我的博客.

接着开始安装。

1、安装nvcodec

下载:

git clone 

安装:

cd nv-codec-headers && sudo make install
2、安装ffmpeg

打开ffmpeg官网下载最新稳定版。

解压:

tar -xvf ffmpeg_4.2.2.orig.tar.xz

解压后的包重命名为ffmpeg

相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】

音视频免费学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~

安装依赖:

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: . 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 -j8sudo make installsudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpegsudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/bin/ffprobesudo ln -s /usr/local/ffmpeg/bin/ffplay /usr/bin/ffplaysudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/ffmpegsudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ffprobesudo ln -s /usr/local/ffmpeg/bin/ffplay /usr/local/bin/ffplaysudo vim /etc/ld.so.conf.d/ffmpeg.conf在其中添加路径:/usr/local/ffmpeg/libsudo ldconfig#更新环境变量

到此,安装完成,进行验证:

ffmpeg -version

本文参考:

[1]

[2]

原文 failed checking for nvcc._牛andmore牛的博客-CSDN博客

标签: #ubuntulibva