Qt--FFmpeg--第一步

参考:https://www.cnblogs.com/WushiShengFei/p/10837264.html
参考:https://blog.csdn.net/leixiaohua1020/article/details/15811977
参考:https://blog.csdn.net/weixin_43834265/article/details/89648294

参考Qt如何添加第三方库文件:https://blog.csdn.net/qq_22374265/article/details/79349779

文末有模板例程下载

前提

 一定要搞清楚自己的编译版本才选择FFMPEG的版本:不然会报错

  • MSVC版本是64位的就下载64位的FFMPEG的三个文件
  • MinGW版本是32位的下载32位的FFMPEG的三个文件

FFmpeg库可以使用源码编译也可以从网上下载已经编译好的库文件,这里使用从网上下载编译好的库文件。编译好的库文件

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

Static,Shared,Dev三个文件都要下载。

新建工程

过程略,目的为了测试FFMpeg能不能用。

我的文件结构:
在这里插入图片描述
在.pro文件里面添加:

INCLUDEPATH += D:/Software/FFMPEG/ffmpeg32/dev/include

LIBS += D:/Software/FFMPEG/ffmpeg32/dev/lib/libavcodec.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libavdevice.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libavfilter.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libavformat.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libavutil.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libswresample.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libswscale.dll.a\
        D:/Software/FFMPEG/ffmpeg32/dev/lib/libpostproc.dll.a

或者另一种风格:参考 https://blog.csdn.net/qq_22374265/article/details/79349779

INCLUDEPATH += D:/Software/FFMPEG/ffmpeg32/dev/include

LIBS += -LD:/Software/FFMPEG/ffmpeg32/dev/lib/ -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale

在mainwindows.h里面添加

using namespace std;

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>
}

在mainwindows.c里面添加:

    ui->setupUi(this);

    qDebug() << avcodec_configuration();
    unsigned version = avcodec_version();
    QString ch = QString::number(version, 10);
    qDebug() << "version:" << version;

不知为什么会报错
在这里插入图片描述
以上是由于,编译器版本与FFMPEG版本不一样导致的:我的问题是:MSVC2017 64bit + FFMPEG 32bit。所导致的,很明显版本不一样,所以无法运行将其修改成:MSVC2017 64bit + FFMPEG 64bit就没问题了。

最后

 编译成功通过,但是运行不起来,这就需要把 D:\Software\FFMPEG\ffmpeg64\shared\bin 文件里面的所有 .dll文件拷贝到生成文件下 D:\Output\Qt_WGT\2.FFmpeg\1.FFmpegTest\build-FFmpegTest-Desktop_Qt_5_11_2_MSVC2017_64bit-Debug\debug 。

模板工程

模板工程下载

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章