当前位置: 首页 > news >正文

5.2 Qt Creator 使用FFmpeg库

一、目录结构

├─3rdparty          # 第三方依赖库
│  └─ffmpeg-4.4.3   # ffmpeg库
│      ├─mingw      # 用MinGW64编译的库
│      │  ├─bin
│      │  ├─include
│      │  └─lib
│      └─msvc       # 用MSVC编译的库
│          ├─bin
│          ├─include
│          └─lib
├─demo3.pro         # 项目配置文件
└─main.c            # 源码目录

二、xx.pro文件

QT -= gui
CONFIG += c++11 # console
CONFIG -= app_bundleDEFINES += QT_DEPRECATED_WARNINGS
SOURCES += main.cwin32 {# 使用 QT_ARCH 检测架构contains(QT_ARCH, x86_64) {message("Configuring for 64-bit")# 公共配置:定义安装目标路径(根据构建模式自动区分)CONFIG(release, debug|release) {ffmpeg_dlls.path = $$OUT_PWD/release  # Release模式目标路径} else {ffmpeg_dlls.path = $$OUT_PWD/debug    # Debug模式目标路径}INSTALLS += ffmpeg_dlls  # 注册安装目标# 编译器类型检测win32-msvc* {message("Using MSVC toolchain")INCLUDEPATH += $$PWD\3rdparty\ffmpeg-4.4.3\msvc\includeLIBS += $$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\avdevice.lib   \$$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\avfilter.lib   \$$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\avformat.lib   \$$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\avcodec.lib    \$$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\swscale.lib    \$$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\swresample.lib \$$PWD\3rdparty\ffmpeg-4.4.3\msvc\lib\avutil.lib# 指定需要安装的DLL文件ffmpeg_dlls.files = $${FFMPEG_MSVC_DIR}\bin\*.dll}win32-g++ {message("Using MinGW toolchain")INCLUDEPATH += $$PWD\3rdparty\ffmpeg-4.4.3\mingw\includeLIBS += $$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libavdevice.dll.a   \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libavfilter.dll.a   \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libavformat.dll.a   \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libavcodec.dll.a    \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libswscale.dll.a    \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libswresample.dll.a \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libpostproc.dll.a   \$$PWD\3rdparty\ffmpeg-4.4.3\mingw\lib\libavutil.dll.a# 指定需要安装的DLL文件ffmpeg_dlls.files =$$PWD\3rdparty\ffmpeg-4.4.3\mingw\bin\*.dll}}else {message("32-bit builds not configured")}
}

说明:

  • 指定安装位置和目标,当执行make install 时拷贝dll文件到输出目录。
  • 注意区分动态库导入库和静态库文件,可以通过库文件大小来判断。

三、main.c测试文件

#include <stdio.h>
#include "libavcodec/avcodec.h"
#include "libavdevice/avdevice.h"
#include "libavfilter/avfilter.h"
#include "libavformat/avformat.h"
int main()
{printf("avcodec version is %u \n",avcodec_version());printf("avdevice version is %u \n",avdevice_version());printf("avfilter version is %u \n",avfilter_version());printf("avformat version is %u \n",avformat_version());return 0;
}

四、编译后自动拷贝dll文件

如何触发make install ?在项目设置哪里添加一个make install。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/573211.html

相关文章:

  • ffmpeg(六):图片与视频互转命令
  • 项目练习:Jaspersoft Studio制作PDF报表时,detail和column footer之间存在很大的空白区
  • VR油库虚拟仿真系统:开启智慧油库新时代
  • 广州华锐互动:以技术创新引领虚拟现实体验新高度
  • 蚂蚁百宝箱快速创建智能体AI小程序
  • 【Node】最佳Node.js后端开发模板推荐
  • win环境使用openssl创建p12证书
  • 18年磨一剑!开利科技启动数字化增量投资新时代
  • 软件工程概述:核心概念、模型与方法全解析
  • (详细介绍)线性代数中的零空间(Null Space)
  • Java、PHP、C++ 三种语言实现爬虫的核心技术对比与示例
  • Mac电脑-触摸板增强工具-BetterTouchTool
  • Sublime text启用vim
  • Science Advances:皮肤附着触觉贴片,实现多功能和增强的触觉交互
  • 【Docker基础】Docker镜像管理:docker pull详解
  • Cursor汉化
  • Tesla T4 安装 Audio2face
  • 大模型在急性弥漫性腹膜炎预测及治疗方案制定中的应用研究
  • 一站式了解责任链模式
  • Taro 跨端应用性能优化全攻略:从原理到实践
  • 抖音的视频怎么下载下来——下载狗解析工具
  • 【StarRocks系列】StarRocks vs Mysql
  • 【StarRocks系列】join查询优化
  • 【软考高级系统架构论文】论软件设计方法及其应用
  • 【软考高级系统架构论文】论NoSQL数据库技术及其应用
  • springboot通过独立事务管理器实现资源隔离与精准控制​
  • 基于Python、tkinter、sqlite3 和matplotlib的校园书店管理系统
  • AI大模型学习之基础数学:微积分在AI大模型中的核心-梯度与优化(梯度下降)详解
  • ZooKeeper 3.9.2 集群安装指南
  • 【LeetCode#第228题】汇总区间(简单题)