当前位置:   article > 正文

[QT+FFMPEG]使用QT自带的MinGW编译器编译FFMPEG生成LIB库(H264解码)_qt 编译ffmpeg

qt 编译ffmpeg

【一】软件运行环境:

操作系统:win10

QT版本:qt-opensource-windows-x86-5.9.1.exe(MinGW32 5.3.0版本)

编译工具msys2-x86_64-20221028.exe、yasm-1.3.0-win32.exe

源代码:ffmpeg-4.3.tar.gz


【二】FFMPEG与x264的关系

x264是编码器,将原始数据(例如YUV420P)编码成h.264标准的原始视频流

FFmpeg为多媒体库,里面有音频、视频的解析、解码、编码以及其他功能的大量API可以给你使用。FFmpeg可以调用x264编码,也可以通过其他编码器编码。FFmpeg源码包含多种解码器,但不包含264编码的源代码

网上许多博客说明在编译FFMPEG的时候还需要编译x264,这是编译全版本FFMPEG链接库。

笔者目前仅需要在QT程序中使用FFMPEG完成H264解码功能,不需要H264编码功能,因此在编译FFMPEG时候选择跳过编译x264。(笔者在使用网上下载多个版本的编译库时,执行到H264解析函数时软件崩溃,因此耐心选择使用源码和本地编译器重新编译)

本博客用于记录并分享FFMPEG编译方法,帮助读者使用QT调用FFMPEG。


【三】下载安装msys2(汇编编译器)

下载文件名称:msys2-x86_64-20221028.exe(83.4MB)

官网地址:https://www.msys2.org/

 安装msys2,一直点击下一步,开始安装,安装过程比较慢,请耐心等待


【四】复制QT的MinGW编译器至yasm2安装文件夹中

yasm2程序安装后,路径C://msys64文件夹如下所示,此时mingw32文件夹里面有若干个空文件夹,此时需要将QT中MinGW编译器复制到mingw32文件夹,路径如下:

源文件路径:C:\Qt\Qt5.9.1\Tools\mingw530_32

目标文件路径:C:\msys64\mingw32

将源文件路径中文件全部复制到目标文件路径

 QT安装路径中的MinGW编译器


【五】验证yasm2是否可以找到qt的 MinGW编译器

点击C:\msys64\mingw32.exe

命令行中输入gcc -v,返回出正确的qt中mingw的编译器版本;

命令行中输入which mingw32-make,返回mingw32-make路径,说明环境可以找到mingw32-make。


【六】下载yasm(汇编编译器),复制至yasm2的中编译器路径中

下载文件名称:yasm-1.3.0-win32.exe(492KB)

下载链接:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win32.exe

复制文件路径:C:\msys64\mingw32\bin

并将文件名称更改为yasm.exe


 【七】下载FFMPEG源代码,并解压至yasm2安装文件夹中

下载文件名称:ffmpeg-4.3.tar.gz(11.7MB)

下载链接:http://www.ffmpeg.org/releases/ffmpeg-4.3.tar.gz

将下载的ffmpeg源码复制并解压缩至msys64的/home/your name/文件夹中

在ffmpeg源码文件夹中新建configure.sh,内容如下:

  1. ./configure \
  2. --prefix="/usr/local/ffmpeg" \
  3. --enable-shared --disable-static \
  4. --enable-w32threads --disable-debug --disable-everything \
  5. --enable-gpl --disable-network \
  6. --enable-encoder=bmp,mjpeg,jpeg2000,mpeg4 \
  7. --enable-decoder=h264,hevc,mpeg4,mjpeg,bmp \
  8. --enable-demuxer=h264,hevc,avi,matroska,image2,image_bmp_pipe \
  9. --enable-muxer=h264,hevc,avi,matroska,mp4,mjpeg,image2 \
  10. --enable-parser=h264,hevc,mjpeg,bmp \
  11. --enable-protocol=file \
  12. --enable-filter=scale \
  13. --disable-indevs \
  14. --disable-hwaccels \
  15. --extra-libs=-lmsvcrt


【八】运行 C:\msys64\mingw32.exe程序,使用cd命令打开ffmpeg源代码文件夹,在文件夹路径运行编译指令 

  1. cd /home/your name XXX/ffmpeg-4.3/
  2. ./configure.sh
  3. mingw32-make
  4. mingw32-make install

运行./configure.sh时会提示找不到pkg-config,不予理睬,继续执行mingw32-make

在ffmpeg文件夹使用mingw32-make成功执行 ,如下图所示。

在ffmpeg文件夹使用mingw32-make install成功执行 ,如下图所示。


【九】在C:\msys64\usr\local\ffmpeg\bin文件夹中获取编译后的DLL文件和LIB 文件,在C:\msys64\usr\local\ffmpeg\include获取编译后的头文件。

复制编译出的lib、dll和include文件至QT的解压缩工程中,替换后,基于QT的解压缩软件完美运行。

  相关LIB库资源链接:https://download.csdn.net/download/dashuo0501/87241808?spm=1001.2014.3001.5503

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/758417
推荐阅读
相关标签
  

闽ICP备14008679号