FFMPEG在windows下面编译

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

最近开始学习音视频,第一步开始编译FFMPEG,特别是在windows上面编译配置比较麻烦所以记录一下如何配置。。


提示:以下是本篇文章正文内容,下面案例可供参考

一、配置

查看了这篇博客很详细基本可以按照一步步走:https://blog.csdn.net/cry_smile_hate/article/details/134276617。

二、遇到的问题

1.相关的库未找到

代码如下(示例):

比如需要的模块:x264,fdk-aac等.

会出现 ERROR: x264 not found using pkg-config。

一般设置环境变量: export PKG_CONFIG_PATH=/d/msys64/usr/local/lib/pkgconfig 就可以了 (最好设置绝对路径)如果还不行就在./configure 后面添加相对于的安装模块库的路径:

CC=cl.exe ./configure --prefix=./install --toolchain=msvc --arch=x64 --enable-debug --disable-optimizations --disable-static --enable-shared --enable-sdl2 --enable-gpl --enable-libx264 --enable-libfdk-aac --enable-nonfree --extra-cflags=“-fPIC” --extra-cxxflags=“-fPIC” --extra-ldflags=-L/usr/local/lib --extra-cflags=-I/usr/local/include
在这里插入图片描述

配置后开始make make install.

2.编译问题

错误1:

fftools/opt_common.c(206): error C2065: “slib”: 未声明的标识符

解决方案:

修改fftools/opt_common.c 源码文件, 将第 206 行注释掉,原因是 CC_IDENT 标识未定义引起的,如下所示:

static void print_program_info(int flags, int level)
{
    const char *indent = flags & INDENT? "  " : "";
 
    av_log(NULL, level, "%s version " FFMPEG_VERSION, program_name);
    if (flags & SHOW_COPYRIGHT)
        av_log(NULL, level, " Copyright (c) %d-%d the FFmpeg developers",
               program_birth_year, CONFIG_THIS_YEAR);
    av_log(NULL, level, "\n");
    //av_log(NULL, level, "%sbuilt with %s\n", indent, CC_IDENT);
 
    av_log(NULL, level, "%sconfiguration: " FFMPEG_CONFIGURATION "\n", indent);
}

错误2.=:

fftools/ffprobe.c(378): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据

解决方案:

注释CC_IDENT所在的行,如下所示:

static void ffprobe_show_program_version(WriterContext *w)
{
    AVBPrint pbuf;
    av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);
 
    writer_print_section_header(w, NULL, SECTION_ID_PROGRAM_VERSION);
    print_str("version", FFMPEG_VERSION);
    print_fmt("copyright", "Copyright (c) %d-%d the FFmpeg developers",
              program_birth_year, CONFIG_THIS_YEAR);
    //print_str("compiler_ident", CC_IDENT);
    print_str("configuration", FFMPEG_CONFIGURATION);
    writer_print_section_footer(w);
 
    av_bprint_finalize(&pbuf, NULL);
}

总结

编译生成后在install/bin目录下面有相关的库:
在这里插入图片描述

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值