最新 Qt FFmpeg 环境配置
最新的 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

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

- 复制文件夹 lib和include,将其放在建立的 Qt 项目路径下

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


- 
  现在 FFmpeg 的文件放置问题已经完成了,开始进入代码测试环节。 - 
    在 Qt 的 .pro文件中,加入如下代码(这是将include和lib文件引入,这里使用的是相对路径)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 \ 
- 
    在 .cpp文件中,加入如下代码(使用extern "C"是为了用 C 语言的形式编译这些头文件,原因是 FFmpeg 是 C语言开发的,而 Qt 为 C++ 开发)extern "C" { #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libswscale/swscale.h> #include <libavdevice/avdevice.h> #include <libavformat/version.h> #include <libavutil/time.h> #include <libavutil/mathematics.h> #include <libavutil/imgutils.h> } 
- 
    测试 FFmpeg 是否配置成功,在 .cpp的构造函数中,加入如下代码,看能否正常输出qDebug() << avcodec_version();
 
- 
    

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

- 如果以上步骤不存在问题,但是,程序报了如下错误(这个问题的出现是因为** 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这个选项

参考博客:
更多推荐
 
 



所有评论(0)