FFmpeg编译和集成(FFmpeg开发基础知识)

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

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

本文使用msys2mingw64编译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 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论