栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

VS2019配置ffmpeg4.4动态库和Qt5.9详细图文教程

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

VS2019配置ffmpeg4.4动态库和Qt5.9详细图文教程

博主的环境是win10 64 + VS2019 Debug X64 + ffmpeg-4.4-full_build-shared + Qt5.9.9(QtCreator4.11.0)

一、ffmpeg环境搭建 1.1下载ffmpeg-4.4-full_build-shared.7z

下载链接:Builds - CODEX FFMPEG @ gyan.dev

 1.2拷贝对应文件到工程目录下

下载后解压,将bin目录下所有*.dll拷贝到可执行目录下,同时include和lib拷贝到工程目录下,如下图所示:

1.3配置VS2019工程项目

【项目】——【属性】——【C/C++】——【常规】——【附加包含目录】

【项目】——【属性】——【C/C++】——【常规】——【SDL检查】

 【项目】——【属性】——【链接器】——【常规】——【附加库目录】

 【项目】——【属性】——【链接器】——【常规】——【附加依赖项】

加入lib库如下所示:

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib
 1.4配置好后,在main.cpp加入如下代码:
#include 

extern "C"
{
    #include "libavformat/avformat.h"
}

int main()
{
    av_register_all();
    system("pause");

    std::cout << "Hello World!n";
}
1.5编译结果

编译没报错,运行也正常,说明关联库成功。

二、配置vs2019上调用qt库 2.1下载qt嵌入vs2019的插件

【扩展】——【管理扩展】,右上角搜qt,然后下载插件Qt Visual Studio Tools

 2.2下载好后,点击如下

【扩展】——【Qt VS Tools】——【Options】,右上角搜qt,然后下载插件Qt Visual Studio Tools

 版本选择自己安装的版本,博主安装的是5.9.9,path路径是选D:QtQt5.9.95.9.9msvc2017_64binqmake.exe  ,如下图所示:

 2.3此时qt在vs2019中的插件安装好了,可以创建qt widget项目

先搜qt,然后选择Qt Widgets Application创建,接着除了选QWidget工程外,一路默认即可。

 2.4创建完vs2019的qt工程,发现#include "ui_ffmpeg3.h"关联错误,此时C++17标准可消除

【配置属性】——【常规】——【C++语言标准】,选“ISO C++17 标准 (/std:c++17)”。

 2.5此时打开UI界面发现闪退,可以将UI界面默认用QtCreator打开即可

即如下配置:

【右键ffmpeg.ui文件】——【打开方式】,在弹出框中选【添加】——【程序】,选择Qt安装Tools目录下的QtCreator目录下qtcreator.exe文件,即D:QtQt5.9.9ToolsQtCreatorbinqtcreator.exe,接着将其设置为默认打开即可。不过这好像也个弊端,就是不能通过UI界面在代码中创建槽函数。

 

 

 

至此,只需要将ffmpeg配置方式再在新创建的Qt工程配置一遍即可使用win10 64 + VS2019 Debug X64 + ffmpeg-4.4-full_build-shared + Qt5.9.9(QtCreator4.11.0)愉快的码代码了  ^_^。 

下面是博主测试的一个简单demo

三、VS2019 + Qt5.9.9 + ffmpeg4.4简单demo 3.1VS2019创建一个Qt Widget工程ffmpeg3

按照上述内容配置一遍ffmpeg,然后在UI界面拖入一个文本浏览器和按钮,如下图所示:

 3.2 ffmpeg3.h、ffmpeg3.cpp、main.cpp三个文件代码

ffmpeg3.h

#pragma once

#include 
#include "ui_ffmpeg3.h"

class ffmpeg3 : public QWidget
{
    Q_OBJECT

public:
    ffmpeg3(QWidget *parent = Q_NULLPTR);

private:
    Ui::ffmpeg3Class ui;
};

ffmpeg3.cpp

#include "ffmpeg3.h"
#include 

//#pragma  comment(lib,"avcodec.lib")
//#pragma  comment(lib,"avdevice.lib")
//#pragma  comment(lib,"avfilter.lib")
//#pragma  comment(lib,"avformat.lib")
//#pragma  comment(lib,"avutil.lib")
//#pragma  comment(lib,"postproc.lib")
//#pragma  comment(lib,"swresample.lib")
//#pragma  comment(lib,"swscale.lib")

extern "C"
{
#include "libavformat/avformat.h"
}

ffmpeg3::ffmpeg3(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);

    av_register_all();
    ui.textBrowser->setText(avcodec_configuration());
}

main.cpp

#include "ffmpeg3.h"
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    ffmpeg3 w;
    w.show();
    return a.exec();
}
3.3程序运行结果

 由上所指,win10 64 + VS2019 Debug X64 + ffmpeg-4.4-full_build-shared + Qt5.9.9(QtCreator4.11.0)环境配置好了。

完结,散花 ~_~ 。

四、参考连接

VS2019 c++配置FFmpeg

VS2019集成Qt

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291087.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号