• 最新 Qt FFmpeg 环境配置


    最新 Qt FFmpeg 环境配置

    这是2022年11月的版本,相比之前的环境配置版本,现在的配置版本中只需要下载一个 shared 文件包。FFmpeg下载地址

    • 选择下载版本,这里我选择的 Windows EXE Files 中的 Windows builds by BtbN

    在这里插入图片描述

    • 点击 Windows builds by BtbN 后自动跳转,选择 ffmpeg-master-latest-win64-gpl-shared.zip

    在这里插入图片描述

    • 下载后,解压文件,会得到如下几个文件夹,这几个文件夹,就已经包含了所有所需要的东西

    在这里插入图片描述

    • 复制文件夹 libinclude ,将其放在建立的 Qt 项目路径下

    在这里插入图片描述

    • 回到之前的解压文件夹中,打开文件夹 bin ,将里面的 .dll 文件全部复制到 Qt 项目下的 .exe 文件路径下(如果是新建立的项目,没有运行过,先运行,让其生成 .exe 文件)

    在这里插入图片描述
    在这里插入图片描述

    • 现在 FFmpeg 的文件放置问题已经完成了,开始进入代码测试环节。

      1. 在 Qt 的 .pro 文件中,加入如下代码(这是将 includelib 文件引入,这里使用的是相对路径)

        INCLUDEPATH += $$PWD/include
        
        LIBS += $$PWD/lib/avcodec.lib  \
                $$PWD/lib/avdevice.lib  \
            $$PWD/lib/avfilter.lib  \
            $$PWD/lib/avformat.lib  \
            $$PWD/lib/avutil.lib  \
            $$PWD/lib/postproc.lib  \
            $$PWD/lib/swresample.lib  \
            $$PWD/lib/swscale.lib  \
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10

        在这里插入图片描述

      2. .cpp 文件中,加入如下代码(使用 extern "C" 是为了用 C 语言的形式编译这些头文件,原因是 FFmpeg 是 C语言开发的,而 Qt 为 C++ 开发)

        extern "C"
        {
            #include 
            #include 
            #include 
            #include 
            #include 
            #include 
            #include 
            #include 
        }
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11

      3. 测试 FFmpeg 是否配置成功,在 .cpp 的构造函数中,加入如下代码,看能否正常输出

        qDebug() << avcodec_version();
        
        • 1

    在这里插入图片描述

    1. 正常输出为一串数字,这一串数字表是 FFmpeg 的版本号(注意:如果这里程序没有输出版本号,且程序自动关闭或者程序从启动到自动关闭是一瞬间,可能是 bin 文件夹中所有的 .dll 文件并没有放到 .exe 路径下)

    在这里插入图片描述

    1. 如果以上步骤不存在问题,但是,程序报了如下错误(这个问题的出现是因为** Qt MinGW 字节位数和 FFmpeg 的字节位数不匹配产生的**,因为现在所使用的 FFmpeg 都为 64 位,32 位的我没有找到。由此,我们开始进入第三个阶段,Qt MinGW 的位数问题)

    在这里插入图片描述

    • 如何查看自己的 Qt MinGW 是多少字节的?(回到 Qt Creator 编译器,点击左边栏目的项目选项
      在这里插入图片描述

      如果这里有出现 MinGW 64bit 的选项,可以选择 64 位的,再一次运行。如果像我一样,只有一个 MinGW 32bit ,那就需要添加一个 MinGW 64bit。但是,在我写着一篇博客之前,我已经花了一个上午的时间去配置 MinGW 64 ,最后还是以失败告终,可能还是我太菜了,所以,配置 MinGW 64 这方面,我已经完全放弃了。

      其实,没有 MinGW 64bit 的原因还是因为我的 Qt 版本太低了,可以去官网下一个高版本的,就能解决这个问题。

    • 下载高版本 Qt 5.15.2 官网下载(这里的是在线下载安装,大家可以自行选择别的下载方式 自行选择

      在这里插入图片描述

    • 接下来的流程大家可以看这一篇博客 Windows10在线安装Qt5.15和Qt6全系列,也可以自行搜索安装方式,但是,需要注意的一点是,在安装的过程中一定需要选上 MinGW 64 bit 这个选项

    在这里插入图片描述

    参考博客:

    Windows10在线安装Qt5.15和Qt6全系列

    Qt搭建FFmpeg开发环境

    FFmpeg 简单的视频播放例子(Qt)

  • 相关阅读:
    层次式架构的设计理论与实践
    上海站活动回顾 | 聚焦私募视野,助力量化投研交易
    Linux软件管理
    python中scipy求解方法
    实训二十:RIP-2 路由协议单播更新配置
    EasyExcel excel读取功能源码走读
    药物化合物信息查询系统(精选常用的5个)
    E. Mishap in Club
    【AI视野·今日NLP 自然语言处理论文速览 第四十四期】Fri, 29 Sep 2023
    经验之谈:内存泄露的原因以及分析
  • 原文地址:https://blog.csdn.net/weixin_46870692/article/details/127810828