使用msys2和mingw64编译FFmpeg

电子说

1.2w人已加入

描述

FFmpeg是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。

FFmpeg项目功能复杂而庞大,基本上支持所有常见的音视频处理操作,如封装格式转换、音视频转码、音视频播放和剪辑、视频添加水印滤镜等。

本文使用msys2mingw64编译FFmpeg,并使用Visual Studio 2022创建项目集成FFmpeg

一、安装msys2

msys2下载地址:我本地的安装目录是:C:\\msys64

编码器

设置msys2环境变量,在path中添加:C:\\msys64\\mingw64\\bin

编码器

二、下载FFmpeg

本文使用的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:\\msys64\\home\\Administrator\\ffmpeg\\ffmpegDLL下看到编译好的文件。

编码器

4、编译成功后,可以使用ffmpeg.exe -codecs查看 h264 的编码器。

四、Visual Studio创建项目

分别拷贝上一步中编译好的FFmpeg文件到项目中:拷贝include文件拷贝到项目,拷贝bin目录中lib文件到项目中。

编码器

使用Visual Studio 2022创建C++控制台项目,打开项目属性页修改相关配置:

1、修改“附加包含目录”:

编码器

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

编码器

3、创建测试代码:

#include 

extern "C" {
    #include 
    #include 
}

#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: %d\\n", codecVer);

    return 0;
}

执行代码,终端输出FFmpeg的版本:FFmpeg version is: 3871332,至此,FFmpeg集成成功。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分