概述
环境
- x64
- QtAV1.13
- Qt5.12.9
- VS2017
- FFmpeg3官方依赖包
编译步骤
git clone https://github.com/wang-bin/QtAV.git
cd QtAV && git submodule update --init
可以下载官方推荐的FFmpeg依赖包:Download QtAV from SourceForge.net
Extract ffmpeg to QtAV source dir. add 2 lines in .qmake.conf
INCLUDEPATH += $$PWD/ffmpeg/include
LIBS += -L$$PWD/ffmpeg/lib
注意32位LIBS改成:LIBS += -L$$PWD/QtAV-depends-windows-x86+x64/lib
先后构建libQtAV,libQtAVWidgets,libQmlAV,examples,如果构建失败了尝试构建整个项目
遇到错误
error LNK2019: 无法解析的外部符号 "enum QtAV::VideoFormat::PixelFormat __cdecl QtAV::pixelFormatFromFourcc(int)" (?pixelFormatFromFourcc@QtAV@@YA?AW4PixelFormat@VideoFormat@1@H@Z),该符号在函数 "protected: void * __cdecl QtAV::d3d9::SurfaceInterop::mapToHost(class QtAV::VideoFormat const &,void *,int)" (?mapToHost@SurfaceInterop@d3d9@QtAV@@IEAAPEAXAEBVVideoFormat@3@PEAXH@Z) 中被引用
..lib_win_x86_64QtAV1.dll : fatal error LNK1120: 1 个无法解析的外部命令
解决方法:https://github.com/wang-bin/QtAV/issues/1250#issuecomment-725963182
add CONFIG *= d3dva to libQtAV.pro in win32:!winrt section .
使用时发现问题
- 使用FFmpeg4.3.2编译的话examples中的播放器播放音频会崩溃,切换到官方提供的FFmpeg3依赖包则没问题。
- simpleplayer点击进度条不能跳转进度
- QMLPlayer打开是一片空白
// 参考player修改simpleplayer:
最后
以上就是眼睛大小松鼠为你收集整理的QtAV编译和使用环境编译步骤遇到错误使用时发现问题的全部内容,希望文章能够帮你解决QtAV编译和使用环境编译步骤遇到错误使用时发现问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复