『heqingchun-Ubuntu系统+x86架构+编译安装ffmpeg+带有nvidia硬件加速』

Ubuntu系统+x86架构+编译安装ffmpeg+带有nvidia硬件加速

一、准备文件

:可直接下载我上传的CSDN资源,然后直接跳到"一"中的第"3"项"将文件按以下顺序存放"。
ffmpeg源码音视频开发+ffmpeg+编译所需资源文件
其他文件音视频开发+ffmpeg+x86/Arm+编译所需库文件(fdk-aac-2.0.2,lame-3.99.5,opencore)
nvidia硬件加速文件音视频开发+ffmpeg+x86/Arm+编译所需文件(使用nvidia硬件加速)

1.ffmpeg源码下载

官网下载
网址:

http://ffmpeg.org/download.html#releases

操作:
点击FFmpeg 4.4.3 “Rao"下的"Download xz tarball”
下载得到ffmpeg-4.4.3.tar.xz压缩文件
注:本教程使用的ffmpeg4.4.3,官网找不到也可以使用其他版本。

2.其他文件

(1)fdk-aac-2.0.2.tar.gz

官网下载
网址:

https://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html
(2)lame-3.99.5.tar.gz

官网下载
网址:

https://sourceforge.net/projects/lame/files/lame/3.99/
(3)opencore-amr-0.1.6.tar.gz

官网下载
网址:

https://sourceforge.net/projects/opencore-amr/files/opencore-amr/
(4)nv-codec-headers.zip

执行

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git

3.将文件按以下顺序存放

新建"ffmpeg"目录与"ffmpegOtherFiles"目录

mkdir ffmpeg && \
mkdir -p ffmpeg/ffmpegOtherFiles

"ffmpeg-4.4.3.tar.xz"放入ffmpeg目录
“fdk-aac-2.0.2.tar.gz”,“lame-3.99.5.tar.gz”,"opencore-amr-0.1.6.tar.gz"放入ffmpegOtherFiles目录
"nv-codec-headers.zip"放入ffmpeg目录

二、更新、安装基础依赖

sudo apt update && \
sudo apt upgrade -y && \
sudo apt install -y build-essential cmake python

三、安装configure依赖

1.终端apt依赖

sudo apt install -y gnutls-dev \
libass-dev \
libdrm-dev \
libopus-dev \
libpulse-dev \
libspeex-dev \
libtheora-dev \
libtwolame-dev \
libv4l-dev \
libvorbis-dev \
libvpx-dev \
libx264-dev \
libx265-dev \
libxvidcore-dev \
libopenal-dev \
libomxil-bellagio-dev \
libxcb1-dev \
libsdl2-dev \
libva-dev \
libvdpau-dev

2.其他依赖

进入"ffmpegOtherFiles"目录

cd ffmpeg/ffmpegOtherFiles

解压编译安装依赖

tar -xvf fdk-aac-2.0.2.tar.gz && \
cd fdk-aac-2.0.2 && \
./configure --prefix=/usr --disable-static && \
make -j12 && \
sudo make install && \
cd .. && \
tar -xvf lame-3.99.5.tar.gz && \
cd lame-3.99.5 && \
./configure --prefix=/usr --disable-static && \
make -j12 && \
sudo make install && \
cd .. && \
tar -xvf opencore-amr-0.1.6.tar.gz && \
cd opencore-amr-0.1.6 && \
./configure --prefix=/usr --disable-static && \
make -j12 && \
sudo make install

3.nvidia硬件加速

cd ffmpeg
unzip nv-codec-headers.zip
cd nv-codec-headers
make -j $(nproc)
sudo make install

四、配置

1.解压文件

cd ffmpeg
tar -xvf ffmpeg-4.4.3.tar.xz
cd ffmpeg-4.4.3
sed -i "s/compute_30,code=sm_30/compute_86,code=sm_86/g" configure

注:电脑显卡为3050,所以是86,需要根据你的显卡算力进行修改
可在此网站查看:显卡算力查看

2.开始配置

./configure --prefix=/usr/local/ffmpeg \
--disable-debug \
--disable-doc \
--disable-static \
--enable-cuda-nvcc \
--enable-cuvid \
--enable-libdrm \
--enable-ffplay \
--enable-gnutls \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfontconfig \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libnpp \
--enable-libopencore_amrnb \
--enable-libopencore_amrwb \
--enable-libopus \
--enable-libpulse \
--enable-sdl2 \
--enable-libspeex \
--enable-libtheora \
--enable-libtwolame \
--enable-libv4l2 \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-libxcb \
--enable-libxvid \
--enable-nonfree \
--enable-nvenc \
--enable-omx \
--enable-openal \
--enable-opencl \
--enable-runtime-cpudetect \
--enable-shared \
--enable-vaapi \
--enable-vdpau \
--enable-version3 \
--enable-xlib \
--extra-cflags=-I/usr/local/cuda/include \
--extra-ldflags=-L/usr/local/cuda/lib64 \
--libdir=/usr/lib/x86_64-linux-gnu \
--incdir=/usr/include/x86_64-linux-gnu \
--disable-asm \
--disable-x86asm \
--extra-cflags=-fPIC \
--toolchain=hardened \
--disable-stripping \
--extra-cflags=-I/usr/local/include/ffnvcodec

五、编译安装

1.编译

make -j $(nproc)

2.安装

sudo make install

六、配置环境

1.链接

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

2.库

写入设置

sudo sh -c "echo '/usr/local/ffmpeg/lib' >> /etc/ld.so.conf.d/ffmpeg.conf"

更新设置

sudo ldconfig

七、验证安装

查看ffmpeg支持信息

ffmpeg -hwaccels

执行结果如下:

ffmpeg version 4.4.3 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr/local/ffmpeg --disable-debug --disable-doc --disable-static --enable-cuda-nvcc --enable-cuvid --enable-libdrm --enable-ffplay --enable-gnutls --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libnpp --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopus --enable-libpulse --enable-sdl2 --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-nonfree --enable-nvenc --enable-omx --enable-openal --enable-opencl --enable-runtime-cpudetect --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-xlib --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --disable-asm --disable-x86asm --extra-cflags=-fPIC --toolchain=hardened --disable-stripping --extra-cflags=-I/usr/local/include/ffnvcodec
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Hardware acceleration methods:
vdpau
cuda(使用nvidia硬件加速才有)
vaapi
drm
opencl

编解码测试(使用nvidia硬件加速):
HEVC->H.264

ffmpeg -vcodec hevc_cuvid -an -gpu 0 -i <vidoe_path> -vcodec h264_nvenc -an -gpu 0 -y output.mp4

H.264->HEVC

ffmpeg -vcodec h264_cuvid -an -gpu 0 -i <video_path> -vcodec hevc_nvenc -an -gpu 0 -y output.mp4

Ubuntu系统+x86架构+编译安装ffmpeg+带有nvidia硬件加速-完毕

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在linux-aarch64上安装OpenCV,您可以按照以下步骤进行操作: 1. 首先,下载交叉编译器版本的OpenCV。您可以从引用\[1\]中提供的链接下载gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar文件,并解压到您的目录(例如/home/heqingchun/soft/Arm/ArmOpenCV)。 2. 接下来,下载OpenCV的源代码和扩展包。您可以从官方网站下载opencv-4.5.5.zip和opencv_contrib-4.5.5.zip文件,并解压到同一个目录(例如/home/heqingchun/soft/Arm/ArmOpenCV/opencv-4.5.5)。 3. 在解压后的目录中,创建一个名为build的文件夹,用于构建OpenCV。 4. 在build文件夹中,使用cmake命令配置构建。根据您的目标处理器选择对应的工具链配置文件。例如,对于ARMv7处理器,可以使用以下命令: ``` cmake -D CMAKE_TOOLCHAIN_FILE="/path/to/opencv/platforms/linux/arm-gnueabi.toolchain.cmake" .. ``` 对于ARMv8处理器,可以使用以下命令: ``` cmake -D CMAKE_TOOLCHAIN_FILE="/path/to/opencv/platforms/linux/aarch64-gnu.toolchain.cmake" .. ``` 请注意,您需要将上述命令中的"/path/to/opencv"替换为实际的OpenCV目录路径。 5. 在配置完成后,运行make命令编译OpenCV。 6. 如果在编译过程中遇到错误,可以尝试将BUILD_opencv_freetype选项设置为OFF,以解决与freetype和harfbuzz库相关的错误。例如,可以使用以下命令: ``` cmake -D BUILD_opencv_freetype=OFF .. ``` 完成上述步骤后,您应该成功在linux-aarch64上安装了OpenCV。请根据您的实际需求进行进一步配置和使用。 #### 引用[.reference_title] - *1* *2* [交叉编译aarch64版本opencv-4.5.5(使用cmake-gui)](https://blog.csdn.net/heqingchun16/article/details/129054037)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [关于OpenCV安装](https://blog.csdn.net/zghforever/article/details/118492835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫庆淳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值