QT应用编程: QtCreate编译部署开源音视频框架模块QtAV

简介: QT应用编程: QtCreate编译部署开源音视频框架模块QtAV

一、环境介绍

操作系统: win10 64位


QT版本:  QT5.12.6


编译器:  MinGW 32


QtAV版本:  QtAV-1.12.0


FFMPEG版本:  ffmpeg 3.1  使用的是QtAV提供的包,直接使用


二、相关软件包下载

QtAV首页地址:  http://www.qtav.org/     不清楚QtAV开源框架的可以去这里了解一下。


QtAV-1.12.0下载地址(CSDN):  https://download.csdn.net/download/xiaolong1126626497/14023609


ffmpeg依赖库下载地址(CSDN): https://download.csdn.net/download/xiaolong1126626497/14023601


QTAV编译需要的ffmpeg官方下载地址: https://sourceforge.net/projects/qtav/files/depends/


三、QtCreate编译QtAV源码

3.1 解压ffmpeg依赖包

下载后的文件名称:  QtAV-depends-windows-x86+x64(ffmpeg依赖库).zip


解压后如下:

image.png

3.2 拷贝依赖头文件和库文件

 接下来将解压的ffmpeg目录下的头文件和库文件拷贝到QtCreate使用的编译器目录下,不拷贝过去,到时候编译QtAV项目时会出现问题。

 我的QT使用的编译器目录:  C:\Qt\Qt5.12.6\5.12.6\mingw73_32

image.png

(1).  拷贝头文件到编译器目录下

image.png

(2).  拷贝库文件到编译器目录下  

image.png

(3). 拷贝pkgconfig文件到编译器目录下

image.png

3.3  编译QtAV

解压QtAV-1.12.0.tar.zip文件,打开.pro文件,载入工程,完成编译安装。

(1). 打开工程

image.png

(2). 构建工程

image.png

(3).  构建成功

image.png

编译完成,如果想运行某个例子程序,需要把ffmpeg的库拷贝到运行目录下。

image.png

image.png

image.pngimage.png

(4). 构建完成之后,找到工程构建目录,运行安装脚本,QtAV会以QT模块的形式安装到QT安装目录,方便加载调用。

image.png

image.png

四、新建QtAV测试工程

在.pro工程文件中加入代码。

QT       += avwidgets
LIBS     += -L$$quote(C:\Qt\Qt5.12.6\5.12.6\mingw73_32\lib) -lQtAV1 -lQtAVWidgets1

image.png

相关头文件和命名空间

#include <QtAV>
#include <QtAVWidgets>
using namespace QtAV;

image.png

参考官网编写基本的播放代码:

 Widgets::registerRenderers();
    VideoOutput *m_vo;
    AVPlayer *m_player;
    m_player = new AVPlayer(this);
    m_vo = new VideoOutput(this);
    m_player->setRenderer(m_vo);
    setCentralWidget(m_vo->widget());
    m_player->play("D:/123.mp4");


image.png

image.png

注意:  要能正常运行的话,需要把ffmpeg相关的库拷贝到程序运行目录下,或者将ffmpeg相关的库加入到系统环境变量中。

目录
相关文章
|
1月前
|
存储 网络协议 C语言
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
【C/C++ 串口编程 】深入探讨C/C++与Qt串口编程中的粘包现象及其解决策略
80 0
|
1月前
|
开发框架 Unix Linux
深度探索:Qt CMake工程编译后的自动打包策略
深度探索:Qt CMake工程编译后的自动打包策略
33 0
|
1月前
|
安全 前端开发 C++
C++视角下的Qt按钮:从基础应用到高级定制(二)
C++视角下的Qt按钮:从基础应用到高级定制
45 2
|
1月前
|
Linux 数据处理 C++
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(一)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
77 0
|
1月前
|
编解码 并行计算 Java
QT界面中实现视频帧显示的多种方法及应用(二)
QT界面中实现视频帧显示的多种方法及应用
83 0
|
1月前
|
存储 Linux API
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(三)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
31 1
|
1月前
|
消息中间件 Linux 数据处理
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(二)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
32 1
|
1天前
|
开发框架 Linux API
Qt:构建高效且用户友好的跨平台应用
Qt:构建高效且用户友好的跨平台应用
|
24天前
|
编译器
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
|
1月前
|
监控 C++
C++ Qt开发:QProcess进程管理模块
Qt是一个跨平台的C++图形库,简化了窗体应用开发,支持通过拖放组件提升效率。本章节关注`QProcess`组件,它用于控制和管理进程,例如执行命令、运行可执行文件及与外部进程通信。`QProcess`提供多种方法如`start`、`waitForStarted`和`waitForFinished`等,实现启动、监控和交互。示例展示了如何使用`QProcess`获取系统进程和信息,通过`tasklist`和`systeminfo`命令,并将结果展示在`QTreeWidget`中。
28 0
C++ Qt开发:QProcess进程管理模块

热门文章

最新文章

推荐镜像

更多