Qt creator QTAv 编辑配置、打包注意事项(windows环境)

1.windows环境编译QtAV的源代码

1.1下载依赖库

下载FFmpeg依赖库  ffmpeg-3.4.2-win64-dev,或 ffmpeg-3.4.2-win32-dev    对应自己的编译版本。下载地址:https://ffmpeg.zeranoe.com/builds/

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第1张图片

QTAV编译好的依赖库QtAV-depends-windows-x86%2Bx64.7z  下载地址:https://sourceforge.net/projects/qtav/files/depends/QtAV-depends-windows-x86+x64.7z/download

QtAV的安装编译总指导说明:https://github.com/wang-bin/QtAV/wiki/Build-QtAV 
下载QtAV的源代码:https://github.com/wang-bin/QtAV 

将ffmpeg-4.1-win64-dev\include 和 ffmpeg-4.1-win64-dev\lib下所有文件,拷贝到:\Qt\5.11.2\msvc2017 64\include和Qt\5.11.2\msvc2017 64\lib目录下,或FFmpeg32拷贝对应的32位目录。

编译QtAV的源代码选择Debug或release模式,生成Debug或release目录文件。

1.2安装QTAV:将QtAV生成的开发库和头文件安装到Qt的开发环境下。首先打开QtAV的生成路径,如下图所示的文件。其中包含一个名为“sdk_install.bat”的可执行脚本,双击执行安装.

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第2张图片

1.3运行:

选择player:Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第3张图片

选择了player,再点击运行按钮,可能运行会报如下的错误

Starting D:\qt-workspace\build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release\bin\Player.exe ...
程序异常结束。
The process was ended forcefully.
D:/qt-workspace/build-QtAV-Desktop_Qt_5_12_3_MinGW_64_bit-Release/bin/Player.exe crashed.

解决方法:

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第4张图片

注意如果32位的使用win32-shared.

运行正常:

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第5张图片

 2.QTAV应用

新建QT项目,.pro文件中加入

QT += av avwidgets
LIBS += -lQtAV1 -lQtAVWidgets1

复制编译好的qtav1.lib , qtavwidgets1.lib  与 QTAV提供的依赖库拷贝。

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第6张图片

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第7张图片

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第8张图片可能必须包含依赖的文件。

文件拷贝到项目目录下。

编写调用QtAV::AVPlayer.

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第9张图片

测试运行:

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第10张图片

运行成功,设置了无边框效果。

参考链接:

1:https://www.cnblogs.com/motadou/p/9310560.html

2:https://blog.csdn.net/anyuliuxing/article/details/92801348

————————————————打包注意事项—2020.02.16—————————————————

把生成的exe文件拷贝到新建目录,运行打包工具指令windeployqt.exe生成依赖文件,之后拷贝QTAV依赖文件(可能不全部依赖,没有具体测试)

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第11张图片

Qt creator QTAv 编辑配置、打包注意事项(windows环境)_第12张图片

之后运行项目提示 "Can not create video renderer"  这是QTAV自带示例的提示,意思是VideoOutput内部的widget没有初始化或初始化失败导致,代码部分:

 m_vo = new VideoOutput(this);
    if (!m_vo->widget()) {
        QMessageBox::warning(0, QString::fromLatin1("QtAV error"), tr("Can not create video renderer"));
        return;
    }

 通过1天的排除,在打包原示例中运行Player.exe提示需要Qt5OpenGL.dll文件,拷贝对应文件,比如我的是:D:\Qt\Qt5.12.5\5.12.5\msvc2017\bin目录中找到Qt5OpenGL.dll文件,拷贝到项目exe文件目录下即可。为什么自己写的示例就没有这等提示....

你可能感兴趣的:(QT)