QtAV 编译使用

关于 QtAV

QtAV:一个基于 Qt 和 FFmpeg 的跨平台高性能音视频播放框架。

| 版权声明:一去、二三里,未经博主允许不得转载。

编译安装

关于 QtAV 的编译,原作者有专门的文档描述,可参考:Build QtAV

关于 Windows 平台的编译(以 Qt5.9 + MSVC2015 为例),除了需要下载 QtAV 源码(QtAV-master.zip)之外,还需要有 QtAV-depends-windows-x86+x64.7z 的依赖支持。分别下载它们,完成之后进行解压缩。

打开 QtAV-master/QtAV.pro,选择:项目 -> Build -> 构建环境,然后配置依赖路径:

INCLUDE = E:\Workspace\QtAV\QtAV-depends\include
LIB = E:\Workspace\QtAV\QtAV-depends\lib\x64

将这两个路径以追加的形式添加到环境变量中:

QtAV-Env

注意: 在这里,很多人会将 include 目录和 lib 目录中的内容分别拷贝到 Qt 的 include 和 lib 目录下,这种方式虽然可行,但会污染 Qt 的环境,不建议这么干!

配置完成之后,依次构建 libQtAV、libQtAVWidgets、libQMLAV。在完成之后,会在 build 目录(lib_win_x86_64)下生成对应的库文件:

QtAV-Build

注意: 如果构建不成功,可以先构建下 QtAV 主项目,然后再以此构建。

基本使用

QtAV 简单易用,先看下效果:

QtAV-Play

新建一个 QtAV 示例工程,在 pro 中添加相关配置:

# 添加 QtAV 相关库
LIBS += -L$$PWD/lib_win_x86_64 -lQtAVd1 -lQtAVWidgetsd1

# 添加 QtAV 相关头文件
INCLUDEPATH += $$PWD/../QtAV-master/src \
               $$PWD/../QtAV-master/src/QtAV \
               $$PWD/../QtAV-master/widgets \
               $$PWD/../QtAV-master/widgets/QtAVWidgets

然后,播放一个本地的 MP4 视频:

// main.cpp
#include <QApplication>
#include <QtAV>
#include <QtAVWidgets>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QString path = QApplication::applicationDirPath() + "/test.mp4";

    // GLWidgetRenderer2 使用 GLSL 渲染视频帧
    QtAV::GLWidgetRenderer2 renderer;
    renderer.show();

    // AVPlayer 用于控制播放过程
    QtAV::AVPlayer player;
    player.setRenderer(&renderer);
    player.play(path);

    return a.exec();
}

更多使用,可以参考 QtAV 源码中的 examples。

猜你喜欢

转载自blog.csdn.net/u011012932/article/details/80327362
今日推荐