使用Qt5和ffmpeg4.3编译QtAV 1.12.0方法

QtAV编译以及使用 本文详细描述Window 10 和Ubuntu 14.04使用Qt Creator编译QtAV 1.12的步骤 阅读详情

下载源码

在QtAV官方http://www.qtav.org/网站中从代码库中GitHub - wang-bin/QtAV: A cross-platform multimedia framework based on Qt and FFmpeg. 基于Qt和FFmpeg的跨平台高性能音视频播放框架. Recommand to use new sdk https://github.com/wang-bin/mdk-sdkA cross-platform multimedia framework based on Qt and FFmpeg. 基于Qt和FFmpeg的跨平台高性能音视频播放框架. Recommand to use new sdk https://github.com/wang-bin/mdk-sdk - wang-bin/QtAVicon-default.png?t=N7T8https://github.com/wang-bin/QtAV下载源码。

设置环境参数

将下载好的ffmpeg库文件解压添加到源码文件夹下,设置.qmake.conf 文件配置

INCLUDEPATH += $$PWD/ffmpeg/include

LIBS += -L$$PWD/ffmpeg/lib

找不到avutil库

继续在.qmake.conf中设置要使用的配置添加下面语句

CONFIG += no_config_tests

CONFIG+=config_avutil config_avformat config_avcodec config_swscale config_swresample

打开QT Creator加载QtAV.pro进行编译

其它编译错误处理

error LNK2019: 无法解析的外部符号 "enum QtAV::VideoFormat::PixelFormat __cdecl QtAV::pixelFormatFromFourcc(int)"

在libQtAV.pro中第280+行的win32:!winrt结构中增加CONFIG *= d3dva语句

无法找到avresamle

注释掉libQtAV.pro中137行开始的config_avresample结构体中所有内容。

未定义的 class“QPainterPath”

在src/QtAV/FilterContext.h中引用#include <QPainterPath>头文件

qml\SGVideoNode.cpp:57: error: C2504: “QSGMaterial”: 未定义基类

加入#include <QSGMaterial>

src\subtitle\SubtitleProcessorFFmpeg.cpp:252: error: C2065: “FF_INPUT_BUFFER_PADDING_SIZE”: 未声明的标识符

修改FF_INPUT_BUFFER_PADDING_SIZE为AV_INPUT_BUFFER_PADDING_SIZE。

src\AVMuxer.cpp:125: error: C2065: “CODEC_FLAG_GLOBAL_HEADER”: 未声明的标识符

修改CODEC_FLAG_GLOBAL_HEADER为AV_CODEC_FLAG_GLOBAL_HEADER

src\codec\audio\AudioEncoderFFmpeg.cpp:156: error: C2065: “FF_MIN_BUFFER_SIZE”: 未声明的标识符 和 src\codec\video\VideoEncoderFFmpeg.cpp:248: error: C2065: “FF_MIN_BUFFER_SIZE”: 未声明的标识符

修改FF_MIN_BUFFER_SIZE为AV_INPUT_BUFFER_MIN_SIZE

简易安装(安装至Qt程序中)

编译成功后在编译目录下找到sdk_install.bat文件运行即可

不安装直接使用库

如不使用qml也可直接使用库程序,编译成功后分别在debug和release编译目录下找到lib_win_x86文件夹,将里面QtAVd*.lib、QtAVd*.dll和QtAVWidgets*.lib、QtAVWidgets*.dll复制出来作为库文件。Lib文件可以改名,dll文件不可改名,有d结尾的为debug文件。头文件复制源码中的src/QtAV文件夹和widgets/QtAVWidgets文件夹。整理后的目录结构如下所示(除Qt*以外的dll为ffmpeg支持文件)

+---QtAV

|   +---bin

|   |       avcodec-58.dll

|   |       avdevice-58.dll

|   |       avfilter-7.dll

|   |       avformat-58.dll

|   |       avutil-56.dll

|   |       postproc-55.dll

|   |       QtAV1.dll

|   |       QtAVd1.dll

|   |       QtAVWidgets1.dll

|   |       QtAVWidgetsd1.dll

|   |       swresample-3.dll

|   |       swscale-5.dll

|   |

|   +---include

|   |   +---QtAV

|   |   |       AudioDecoder.h

|   |   |       AudioEncoder.h

|   |   |       AudioFormat.h

|   |   |       AudioFrame.h

|   |   |       AudioOutput.h

|   |   |       AudioResampler.h

|   |   |       AVClock.h

|   |   |       AVDecoder.h

|   |   |       AVDemuxer.h

|   |   |       AVEncoder.h

|   |   |       AVError.h

|   |   |       AVMuxer.h

|   |   |       AVOutput.h

|   |   |       AVPlayer.h

|   |   |       AVTranscoder.h

|   |   |       ConvolutionShader.h

|   |   |       dptr.h

|   |   |       EncodeFilter.h

|   |   |       FactoryDefine.h

|   |   |       Filter.h

|   |   |       FilterContext.h

|   |   |       Frame.h

|   |   |       FrameReader.h

|   |   |       Geometry.h

|   |   |       GeometryRenderer.h

|   |   |       GLSLFilter.h

|   |   |       LibAVFilter.h

|   |   |       MediaIO.h

|   |   |       OpenGLRendererBase.h

|   |   |       OpenGLTypes.h

|   |   |       OpenGLVideo.h

|   |   |       OpenGLWindowRenderer.h

|   |   |       Packet.h

|   |   |       QPainterRenderer.h

|   |   |       QtAV

|   |   |       QtAV.h

|   |   |       QtAV_Global.h

|   |   |       Statistics.h

|   |   |       SubImage.h

|   |   |       Subtitle.h

|   |   |       SubtitleFilter.h

|   |   |       SurfaceInterop.h

|   |   |       version.h

|   |   |       VideoCapture.h

|   |   |       VideoDecoder.h

|   |   |       VideoEncoder.h

|   |   |       VideoFormat.h

|   |   |       VideoFrame.h

|   |   |       VideoFrameExtractor.h

|   |   |       VideoOutput.h

|   |   |       VideoRenderer.h

|   |   |       VideoShader.h

|   |   |       VideoShaderObject.h

|   |   |

|   |   \---QtAVWidgets

|   |           global.h

|   |           GLWidgetRenderer.h

|   |           GLWidgetRenderer2.h

|   |           GraphicsItemRenderer.h

|   |           OpenGLWidgetRenderer.h

|   |           QOpenGLWidget.h

|   |           QtAVWidgets

|   |           QtAVWidgets.h

|   |           version.h

|   |           VideoPreviewWidget.h

|   |           WidgetRenderer.h

|   |

|   \---lib

|           Qt5AV.lib

|           Qt5AVd.lib

|           Qt5AVWidgets.lib

|           Qt5AVWidgetsd.lib

\--------------------------------------------

visual studio编译QtAV 第一种方法:下载编译好的ffmpeg-3.4.2-win64-dev和ffmpeg-3.4.2-win64-shared,解压得到第二种方法:QtAV官方有提供编译好的依赖库 QtAV-depends-windows-x86%2Bx64.7z,解压得到下载QtAV-1.12.0,解压得到QtAV-1.12.0,在Qt Creator中导入QtAV项目然后在Qt Creator设置编译时候的环境变量,换成自己ffmpeg解压的路径GCC设置一下变量名变量 值。 阅读详情

相关推荐

基于FFmpeg和Qt的播放器 QtAV库

参与项目开发: https://github.com/wang-bin/QtAV 下载编译好的文件等:https://sourceforge.net/projects/qtav win下编译好的可执行文件及编译所需的文件在这:https://sourceforge.net/projects/qtav win下编译要用到的库如ffmpeg,portaudio可以在https://sourcef

ibingow的专栏 3万+

Qt优秀开源项目之二十二:QtAV:基于Qt和FFmpeg的跨平台高性能音视频播放框架

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

草上爬的博客 6459

QtAV视频播放器的介绍、编译以及简单使用

背景 简介 QtAV是基于Qt和FFmpeg的多媒体播放库。它可以帮助您以前所未有的精力编写播放器。 强大的功能 QtAV可以满足您的最大需求 硬件解码支持:DXVA2,VAAPI,VDA / VideoToolbox,CedarX,CUDA(第一个播放器在Linux上支持CUDA吗?) OpenGL和ES2支持几乎所有格式,包括Hi10P视频(第一个播放器/库在ES2中支持10bit?VLC,XBMC,mplayer现在不支持) 实时预览 RGB和YUV格式的视频捕获 OSD和自定义过滤器 libavf

学会改变的博客 8225

Qt5移植QtAV1.8.0

Qt5移植QtAV1.8.0 1、打开QtAV1.8.0-MinGW32.exe,默认安装。   删除qtav/lib中的libQt5AV1.a,多余的没用。   2、安装成功后点击C:\QtAV里面的sdk_deploy.bat。将库安装到qt5.3中     3、进入C:\QtAV\src\simpleplayer中编译qtav的小例程。     4、由于库没有添加到电脑

atsunlun的博客 651

QtAV编译及使用

QtAV编译及使用 参考地址: https://github.com/wang-bin/QtAV/wiki/Build-QtAV Prerequisites Get QtAV source code git clone https://github.com/wang-bin/QtAV.git cd QtAV && git submodule update --init F...

baidu_33570760的博客 2390

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下载地址:https://download.csdn.net/download/xiaolong11...

1874

QtAV 编译总结

支持平台 QtAV 可以运行于 Windows桌面、Windows Phone、Linux、OSX、iOS、Android、MeeGo、Sailfish OS。 其他平台比如 BlackBerry 也会支持,但是缺少开发环境和测试设备。 Video: QtAV based qmlvideofx with CedarV hardware decoding 为什么选择 QtAV 而非 QtMul...

small house 1230

QT软件开发:基于QtAV设计的视频播放器

一、环境介绍 操作系统:win10 64位 QT版本:QT5.12.6 编译器:MinGW 32 QtAV版本:QtAV-1.12.0 FFMPEG版本:ffmpeg 3.1 使用的是QtAV提供的包,直接使用 二、编译QTAV模块 参考链接:https://blog.csdn.net/xiaolong1126626497/article/details/112209279 三、开发的视频播放器效果 四、功能介绍 1. 支持命令行传入视频播放 ...

3321

QtAV的编译与使用(MSVC2015+Qt5.9.8)

0.前言 本文主要是记录QtAV的编译及使用过程,在MSVC2015-2019搭配Qt5.9-5.12这个版本范围内使用过,没有出现编译错误或编译出来的动态库无法使用的情况。 《门前》----顾城 ... 草在结它的种子 风在摇它的叶子 我们站着,不说话 就十分美好 ... 本文目录 1.准备工作 2.编译 3.简单使用 4.参考 1.准备工作 QtAV的源码 下...

龚建波 5804

QT应用编程: 使用QTAV得到解码视频每帧图像

一、环境介绍 操作系统:win10 64位 QT版本:QT5.12.6 编译器:MinGW 32 QtAV版本:QtAV-1.12.0 FFMPEG版本:ffmpeg 3.1 使用的是QtAV提供的包,直接使用 二、QTAV编译安装流程 参考博客:https://blog.csdn.net/xiaolong1126626497/article/details/112209279 三、获取解码的视频每帧图像数据 思路: 继承VideoOutput,重新实现receiv...

1596

QtAV的第三方开发库,经测试可在Windows和linux下部署使用

QtAV的第三方开发库,经测试可在Windows和linux下部署使用。已经QtAV编译打包成库,内涵Linux和Windows两种环境开发库和相关依赖库。Qt5.9.2可使用

QTAV编译和使用

简介 QtAV是基于Qt和FFmpeg的音视频播放库。开发者能够很容易基于QtAV编写播放器。支持常见的功能如播放、截图、暂停、快进快退、音量控制、播放网络流媒体等。目前支持的渲染方式有QPainter、Direct2D、gdi+、OpenGL,以后会添加其他选择和硬件解码功能。 QTAV源码 QtAV的源代码:https://github.com/wang-bin/QtAV FFmpeg的开发依赖库,ffmpeg-4.1-win64-dev.zip:https://ffmpeg.zeranoe.com/b

weixin_41605683的博客 2162

EWM与SAP ERP的数据集成

1、EWM与 SAPERP的无缝集成-基础数据&业务交易数据 2、SAP ERP设置:连接SAP ERP和EWM必须设置应用程序连接支持-ALE(Application Link Enabling) 3、ERP - EWM仓库数据集成: SAP ERP需要设置配置信息,连接ERP和EWM之间的库存管理应用,基于工厂+库存地点对应一个仓库号来进行配置; 在ERP中需要创建一个中间虚拟仓库,代表ERP仓库;“中间虚拟”仓库创建之后,工厂+库存地点的信息...

weixin_43899798的博客 3797

QtAV1.13+Qt5.12.0+MSVC2017+Win11编译与使用

因项目需要,需要在在项目中添加一个视频播放器,起初采用qmediaplayer实现功能,但在测试过程中发现在播放高帧率、大分辨率视频时,出现明显掉帧现象,故寻找更好的方法,在寻找过程中,发现大佬的QtAV,使用较为简单,故尝试进行编译与使用,此篇文章为本人在编译与踩坑的过程记录。

weixin_44328139的博客 1251

利用HTML+CSS设计PPT:html-to-pptx实现自动化转换与可编辑输出

在办公自动化和前端开发领域,将网页技术应用于文档生成是一个重要的技术方向。其核心原理在于通过解析HTML/CSS的结构与样式,将其映射为目标文档的原生对象模型。这项技术的价值在于,它能够将Web技术栈强大的布局与样式能力(如Flexbox、CSS Grid)与办公软件(如Microsoft PowerPoint)的广泛兼容性和可编辑性相结合。在实际应用场景中,这种技术特别适合需要快速生成兼具设计感与实用性的演示文稿,例如数据报告、产品发布和营销材料。本文探讨的html-to-pptx项目正是这一思路的工程实

weixin_30652491的博客 486

IC芯片验证 - 手把手教你搭建UVM验证环境

这是一个UVM的demo项目

howard789的博客 3万+

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

1.windows环境编译QtAV的源代码 1.1下载依赖库 下载FFmpeg依赖库ffmpeg-3.4.2-win64-dev,ffmpeg-3.4.2-win64-shared 下载地址:https://ffmpeg.zeranoe.com/builds/ QTAV编译好的依赖库QtAV-depends-windows-x86%2Bx64.7z 下载地址:https:/...

leng3667的博客 3221

秋叶ComfyUI整合包使用FRP实现公网访问教程 ComfyUI内网穿透 秋叶整合包

最近在做 ComfyUI 的实验时,我发现很多小伙伴都遇到一个问题:本地启动的 ComfyUI 服务只能在本地访问,想要通过公网远程访问,就必须借助来实现。作为一名前端开发工程师,我花了点时间把 ComfyUI 启动器和 FRP 配置整合了一下,今天就分享给大家。本文适合已经了解。需要注意的是 穿透到公网的话任何人都能访问 为了安全建议看我另一篇帖子加上密码验证 防止恶意攻击。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1347

linux上如何安装QtAV插件?(环境:ubuntu18.04,qt5.12.3,ffmpeg-4.1.3)

上一篇写了关于在windows上如何去安装qtav,本篇特来描述在ubuntu上如何安装。 1:linux上安装qt: 版本选择:qt-opensource-linux-x64-5.12.3.run 链接:http://download.qt.io/archive/qt/5.12/5.12.3/ 赋予 qt-opensource-linux-x64-5.12.3.run 执行权限。命令: ...

cow_dake 1913

Android 13.0仿ios的hotseat效果修改hotseat样式

在13.0系统产品rom定制化开发中,在项目需求的需要,系统原生Launcher的布局样式很一般,所以需要重新设计ui对布局样式做调整,产品在看到 ios的hotseat效果觉得特别美观,所以要仿ios一样不需要横屏铺满的效果 居中显示就行了,所以就要看hotseat的具体布局显示了

安卓兼职framework和app工程师的博客 1144

Android15音频进阶之解underrun与overrun思路(一百一十七)

本篇目的:Android15音频进阶之解underrun与overrun思路Underrun:发生在播放:APP准备的数据太少,导致底层没有音频数据可以播放,导致ADSP被“饿死了“,即Underrun。Overrun: 发声在录音:APP录音数据获取太慢了,导致底层录出来的数据太多了,APP播放不了,导致APP被“撑死了”,即Overrun。

Android系统攻城狮 2106

QtAV编译配置和入门使用(Qt5.11.1+VS2017)

参考文档:https://github.com/wang-bin/QtAV/wiki/Build-QtAV 为Qt的音视频开发储备 一、编译准备 QtAV发行(为了后续编译需要的头文件):https://sourceforge.net/projects/qtav/ QtAV源码:https://github.com/wang-bin/QtAV FFmpeg Dev(ffmpeg-4.0....

xiaohai7521s的专栏 1442

使用MATLAB/Simulink对一个简单的智能家居温湿度监测与控制系统进行建模和仿真

目录手把手教你学Simulink——基于Simulink的智能家居温湿度监测与控制仿真建模示例一、背景介绍二、所需工具和环境三、步骤详解步骤1:创建Simulink模型步骤2:构建传感器模块步骤3:添加控制器步骤4:构建执行器模块步骤5:连接各部分步骤6:设置仿真参数步骤7:添加观测器步骤8:运行仿真并分析结果四、总结 智能家居系统中的温湿度监测与控制系统是一个典型的物联网(IoT)应用场景,它通过传感器收集环境数据,并根据预设条件自动调节室内温度和湿度以提高居住舒适度。本指南将介绍如何使用MATLAB/S

xiaoheshang_123的博客 291

Windwos10上如何编译安装QtAv插件?

@如何编译安装QtAv插件? 安装环境:QT5.12.3、msvc2015 64位,ffmpeg库-4.1。QtAv源码下载 首先: 介绍QtAv 它究竟是怎么一回事,是一个人综合了很多的外置库或者其他的开源库如:ffmpeg,mediaplayer等。作者把这些东西重新用自己的源码进行重新整理,书写成一个名为qtav的源码,这个源码是开源的,我们只需在github上把它下载下来,手动进行配置编译...

cow_dake 571

ICC2:mem出pin的Off Grid问题

这个命令本意是解决跨制成调用IP时在IP出pin位置加一定的routing blockage,限制绕线在一定范围内只能走直线出pin,用来解决off-grid问题也有很好的效果。在ICC2做先进工艺时会有off-grid的问题,off-grid可以理解为绕线没有在preferred方向track上。测试发现,2022版本以前的ICC2绕线容易有off-grid问题。主要在mem出pin的M2/M3层次上,切换版本绕线能很大程度上解决这个问题。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1630

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

MAC Qtav编译使用

1: QtAv 的编译 需要 依赖 ffmpeg 下载地址: https://sourceforge.net/projects/qtav/files/depends/FFmpeg/ 选择MAC 版本。 最好是最新版本的, 之前下载不是最新的导致 编译失败。 下载完后把 ffmapeg 头文件和库放到 Qt 头文件和库的目录 这是让编译器找到 ffmpeg 和其他依赖库最简单的方法 2: 下载QtAv 工程, 开始编译; 使用Qtcreator 其实和一般工程文件编译一样。 编译好后,会生成sdk_ins

黑塞的博客 995

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: Win10使用VS2019编译WebRTC方法
下一篇: Win10+vs2019编译NCNN方法
橙枫L
博客等级 码龄19年 172粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值