QtAV环境配置

本文章主要是使用MSVC编译器,因为QtAV是依赖FFmpeg的,所以需要下载QtAV源码和QtAV-depends-windows-x86+x64;
官网地址:http://www.qtav.org/
Github 地址:https://github.com/wang-bin/QtAV

1,解压
将文件解压到同一个文件夹下:
在这里插入图片描述
2,修改.qmake.conf配置文件
在这里插入图片描述

INCLUDEPATH += $$PWD/../QtAV-depends-windows-x86+x64/include
LIBS += -L$$PWD/../QtAV-depends-windows-x86+x64/lib/x64

3.打开项目
在这里插入图片描述
在这里插入图片描述
4、分别构建Debug和Release
在这里插入图片描述
在这里插入图片描述
5.分别双击执行Debug和Release下的sdk_install.bat文件,会将QtAV编译的库和头文件,模块等都拷贝到Qt内部模块种。
在这里插入图片描述
在这里插入图片描述
6.这里需要 release下的prl文件拷贝到lib下
在这里插入图片描述

7、新建工程
添加三个环境变量,主要是配置FFmpeg库的路径设置 CPATH 到 H:\QtCode\CSOI\CSOI\VisualizationSafety\VisualizationAVCell\QtAV-depends-windows-x86+x64\include
设置 LD_LIBRARY_PATH 到 H:\QtCode\CSOI\CSOI\VisualizationSafety\VisualizationAVCell\QtAV-depends-windows-x86+x64\bin\x64
设置 LIBRARY_PATH 到 H:\QtCode\CSOI\CSOI\VisualizationSafety\VisualizationAVCell\QtAV-depends-windows-x86+x64\lib\x64
在这里插入图片描述
.pro 文件中添加模块
在这里插入图片描述

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../qtav/build-QtAV-Desktop_Qt_5_12_4_MSVC2015_64bit-Release/lib_win_x86_64/ -lQtAV1
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../qtav/build-QtAV-Desktop_Qt_5_12_4_MSVC2015_64bit-Release/lib_win_x86_64/ -lQtAV1d

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../qtav/build-QtAV-Desktop_Qt_5_12_4_MSVC2015_64bit-Release/lib_win_x86_64/ -lQtAVWidgets1
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../qtav/build-QtAV-Desktop_Qt_5_12_4_MSVC2015_64bit-Release/lib_win_x86_64/ -lQtAVWidgets1d

.h

```cpp
#include <QLabel>
#include <QtAV>
#include <QtAVWidgets>

using namespace QtAV;

class VisualizationAVCell : public QLabel
{
    Q_OBJECT
public:
    explicit VisualizationAVCell(QWidget *parent = nullptr);
    ~VisualizationAVCell();

signals:

public slots:
    void slot_play();

    void slot_pause();

    void slot_stop();

private:
    QtAV::VideoOutput *m_vo;
    QtAV::AVPlayer *m_player;
};

.cpp

#include <QDebug>
#include <QGridLayout>

VisualizationAVCell::VisualizationAVCell(QWidget *parent) : QLabel(parent)
{
    QtAV::Widgets::registerRenderers();

    m_player = new QtAV::AVPlayer(this);
    m_vo = new QtAV::VideoOutput(this);

    if(nullptr == m_vo->widget())
        return;

    QGridLayout *grid = new QGridLayout;
    grid->addWidget(m_vo->widget());
    this->setLayout(grid);
    m_player->setRenderer(m_vo);
}

VisualizationAVCell::~VisualizationAVCell()
{

}

void VisualizationAVCell::slot_play()
{
    m_player->play("H:/QtCode/CSOI/CSOI/testfile/av.mp4");
}

void VisualizationAVCell::slot_pause()
{
    m_player->pause();
}

void VisualizationAVCell::slot_stop()
{
    m_player->stop();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值