在 Ubuntu 中使用从源代码编译的 FFmpeg 5 编译 Opencv 4.7.0

人工智能等各类编程培训资料整理,所有资源无秘无压缩-购买会员

准备好使用自定义 FFmpeg 视频 I/O 后端来增强你的 OpenCV,本教程将进行详细说明。在OpenCV 4.7版本的发布说明中,提到了对FFmpeg 5.x的支持改进。因此,让我们首先从源代码编译FFmpeg 5.x,然后从源代码编译OpenCV 4.7并链接此自定义FFmpeg库。

让我们开始吧!顺便说一下,我将在运行在WSL 2下的Ubuntu 22中进行操作。

上次我使用Opencv 4.6编译FFmpeg,但是无法启用FFmpeg来构建Opencv。因此,我使用apt-get install安装了FFmpeg,然后成功地使用FFmpeg构建了Opencv。最终的应用程序链接了从源代码编译的FFmpeg构建以及启用了FFmpeg支持的Opencv库。

今天,让我们再次使用从源代码编译的 FFmpeg 库来编译 Opencv 4.7。

如果适用,请在所有命令中使用“sudo”。

构建 FFmpeg 的先决条件

这一步的主要来源是 FFmpeg Compilation Guide(https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu)。如果 FFmpeg 在配置过程中报错,你有两个选择。安装先决条件或禁用配置中的选项。我安装了这些:

sudoapt-getupdate-qq&&sudoapt-get-yinstall

autoconf

automake

build-essential

cmake

git-core

libass-dev

libfreetype6-dev

libgnutls28-dev

libmp3lame-dev

libsdl2-dev

libtool

libva-dev

libvdpau-dev

libvorbis-dev

libxcb1-dev

libxcb-shm0-dev

libxcb-xfixes0-dev

meson

ninja-build

pkg-config

texinfo

wget

yasm

zlib1g-dev

nasm

libx264-dev

libx265-dev

libnuma-dev

libvpx-dev

libfdk-aac-dev

libopus-dev

libdav1d-dev

从源代码构建 FFmpeg 5 库通过wget命令下载,使用的是FFmpeg 5.0.1解压源代码输入提取目录sudowget-Offmpeg-5.0.tar.bz2″https://www.ffmpeg.org/releases/ffmpeg-5.0.1.tar.bz2″

sudotar-xvfffmpeg-5.0.tar.bz2

cdffmpeg-5.0.1

将在下一节中详细介绍如何配置 FFmpeg 构建。

只启用你已安装的内容。我安装了libx264-dev libx265-dev、libvpx-dev和其他一些软件包。通过启用enable-shared选项来使用静态和共享选项进行构建。

遇到了一些问题,在构建 FFmpeg 时构建 Opencv 4.7 就像静态库一样。很可能这也是上次遇到的主要问题。如果没记错的话,是在编译videoio模块时发生分段错误。

sudo./configure–enable-shared–enable-gpl–enable-libx264–enable-libx265–enable-libvpx–enable-zlib

配置过程的输出将如下所示:注意 static 和 shared 正确设置为 yes。

Opencv 的 FFmpeg 配置

现在已经完成了配置,现在是编译 FFmpeg 的时候了。使用 make 命令进行编译,可以添加参数 -j4 让编译过程并行。下面是一个命令的示例和预期的输出结果:

sudomake-j4

make FFmpeg 库的输出。

当 FFmpeg 编译时没有任何问题。下面的 make install 会将 FFmpeg 库复制到最终目的地,而 ldconfig 将创建链接和缓存到最近创建的共享库。

sudomakeinstall

sudoldconfig-v

完成了 FFmpeg。因此,让我们构建 OpenCV。

FFmpeg 安装输出。

构建支持 FFmpeg 5 的 Opencv 4.7

这个过程被再次使用。下载,解压,创建build目录,进入build目录,用cmake配置Opencv build。

sudowget-Oopencv.ziphttps://github.com/opencv/opencv/archive/4.x.zip

sudounzipopencv.zip

Sudomkdirbuild

Cdbuild

sudocmake/opencv-4.7.0

Opencv 输出的配置是为了检查 FFMPEG 和 AVlibs 是否设置为 yes。此外,请随时解决配置中可能出现的任何其他问题。

使用 FFmpeg 的 Opencv 4 配置

然后只需按照命令(一个接一个)构建和安装,等待几分钟即可完成此过程。

sudocmake–build.–configRelease—j4

sudomakeinstall

opencv编译步骤

opencv安装步骤

免责声明: 1、本站信息来自网络,版权争议与本站无关 2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权 3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和本站的同意 4、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责 5、用户所发布的一切软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 6、您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 7、请支持正版软件、得到更好的正版服务。 8、如有侵权请立即告知本站,本站将及时予与删除 9、本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章和视频仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
600学习网 » 在 Ubuntu 中使用从源代码编译的 FFmpeg 5 编译 Opencv 4.7.0