FFmpeg开发笔记(六十九)Windows给FFmpeg集成AV1编码器libaom
AV1如此炙手可热,以致它的编解码器如雨后春笋,单单FFmpeg支持的AV1编解码器,就有libaom、libdav1d、libsvtav1、librav1e四种。接下来以微软的视窗系统为例,介绍如何在Windows环境给FFmpeg集成AV1编码器libaom,具体的操作步骤说明如下:
一、配置libaom
libaom是谷歌提供的AV1编解码工具,其代码托管在谷歌网站,国内无法访问,开发者可通过清华大学的镜像网站下载它的源码,下载地址是https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/pool/main/a/aom/aom_3.12.1.orig.tar.gz。
先下载最新的aom源码,再把aom源码包复制到MSYS环境的/usr/local/src目录下。接着在MSYS控制台执行下面命令解压源码包:
然后执行下面命令配置aom:
配置完毕,会在build目录下找到AOM.sln,这就是aom的Visual Studio项目工程文件。
二、编译libaom
打开Visual Studio 2022,在欢迎页面单击右侧的“打开项目或解决方案”,在弹出的文件对话框中选择aom-3.12.1uild目录下的AOM.sln。
打开aom工程后,依次选择顶部菜单:生成→配置管理器,在打开的配置管理器窗口上,找到左上角的“活动解决方案配置”下拉框,把Debug模式改为Release模式,再单击窗口右下角的关闭按钮。
依次选择顶部菜单:生成→生成→生成aom,Visual Studio就开始编译aom模块。编译过程可在Visual Studio界面下方观察,直到编译完成如下图所示。
此时可在aom-3.12.1uildRelease目录下找到aom_dll.lib和aom.dll,这两个文件就是编译生成的libaom库文件。
三、安装libaom
确保Windows系统已经按照《FFmpeg开发实战:从零基础到短视频上线》第一章“1.3 Windows系统安装FFmpeg”的说明安装配置了MSYS,再按照以下步骤在MSYS环境安装libaom。
1、在msys64的/usr/local目录下新建libaom目录,并在该目录下创建lib子目录;
2、把aom工程中buildRelease目录下的aom.dll复制到第一步创建的lib目录,把buildRelease目录下的aom_dll.lib改名为aom.lib后再复制到第一步创建的lib目录;
3、在lib目录下创建pkgconfig子目录,并在pkgconfig目录下新建文件aom.pc,给该pc文件填入以下的配置内容。
4、在msys64的/usr/local/libaom目录下创建include目录,再在include下创建子目录aom,然后把aom工程中aom目录下的几个h文件都复制到刚才创建的include/aom目录;
经过以上步骤操作后的libaom目录结构如下所示。
四、编译安装FFmpeg
先下载最新的FFmpeg源码(版本号需大于等于7.1),再把FFmpeg源码包复制到MSYS环境的/usr/local/src目录下。接着在MSYS控制台执行下面命令解压源码包:
确保MSYS环境已经按照《FFmpeg开发实战:从零基础到短视频上线》该书第八章的“8.1.1 给FFmpeg集成x264”和“8.1.5 给FFmpeg集成x265”安装了H.264的编码器libx264和H.265的编码器libx265,也按照该书第十章的“10.1.1 FFmpeg集成SDL”安装了Windows系统的SDL2库,并且按照之前的文章安装了H.266的编码器libvvenc,然后执行下面命令配置FFmpeg的编译环境:
配置完毕执行下面命令编译和安装FFmpeg,编译完成的ffmpeg库将会安装到configure指定的/usr/local/ffmpeg目录。
五、查看FFmpeg的安装结果
运行下面命令查看FFmpeg的安装版本:
上面命令返回的FFmpeg版本信息如下:
根据以上返回的版本信息,可知已安装的FFmpeg版本号为7.1.1,同时configuration这行找到“--enable-libaom”,说明FFmpeg已经启用了AV1编码器libaom。
更多详细的FFmpeg开发知识参见
原文地址:https://www.cnblogs.com/aqi00/p/18953488