FFmpeg是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。
FFmpeg项目功能复杂而庞大,基本上支持所有常见的音视频处理操作,如封装格式转换、音视频转码、音视频播放和剪辑、视频添加水印滤镜等。
本文使用msys2和mingw64编译FFmpeg,并使用Visual Studio 2022创建项目集成FFmpeg。
一、安装msys2
msys2下载地址:https://www.msys2.org/。我本地的安装目录是:C:msys64。

设置msys2环境变量,在path中添加:C:msys64mingw64bin。

二、下载FFmpeg
下载地址:http://ffmpeg.org/download.html。
本文使用的FFmpeg版本是5.0.1。

三、编译FFmpeg
在msys2的云仓库中有x264的安装包,所以我们不用自己编译。
1、菜单中打开:MSYS2 MINGW64,执行命令,pacman -S mingw-w64-x86_64-x264,即可安装x264。
2、安装完x264之后,只需要在 configure的时候加上 --enable-libx264 ,编译FFmpeg:
./configure --prefix=/home/Administrator/ffmpeg/ffmpegDLL/ --enable-shared --enable-sdl2 --enable-libx264 --enable-gpl
make -j8
make install
3、编译完成之后,文件目录C:msys64homeAdministratorffmpegffmpegDLL下看到编译好的文件。

4、编译成功后,可以使用ffmpeg.exe -codecs查看 h264 的编码器。
四、Visual Studio创建项目
分别拷贝上一步中编译好的FFmpeg文件到项目中:拷贝include文件拷贝到项目,拷贝bin目录中lib文件到项目中。

使用Visual Studio 2022创建C++控制台项目,打开项目属性页修改相关配置:
1、修改“附加包含目录”:

2、修改“附加库目录”:

3、创建测试代码:
#include <stdio.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavutil/log.h>
}
#pragma comment(lib, "avcodec.lib")
#pragma comment(lib, "avutil.lib")
int main(int argc, char* argv[])
{
av_log_set_level(AV_LOG_DEBUG);
unsigned int codecVer = avcodec_version();
av_log(NULL, AV_LOG_INFO, "FFmpeg version is: %dn", codecVer);
return 0;
}
执行代码,终端输出FFmpeg的版本:FFmpeg version is: 3871332,至此,FFmpeg集成成功。
E作者:zhangsf,来源: Geek短视频
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。