Qt+ffmpeg环境搭建
Qt+ffmpeg环境搭建
各平台常见视频开发库举例:
- iOS:AVFoundation AudioUnit
- Android:MediaPlayer,MediaCodec
- Windows:DirectShow
- Linux:GStreamer
FFmpeg 库是一个跨平台的视频开发库, 还有 libVLC 也是一个跨平台的视频开发库
- 掌握了其中一个库, 也能很快上手其它库, 因为音视频解码的原理类似
引入 FFmpeg 库有两种方式
一种是直接引入源码进行开发(因为源码庞大,编译较慢,不推荐新手学习时用这种方法)
一种是引入头文件和动态库进行开发,下载地址是:
https://ffmpeg.org/download.html
https://github.com/GyanD/codexffmpeg/releases //下载其它版本可以在这里下载, 已知5.1.2版本可兼容win7
shared版本是有动态库的版本(essentials是必要组件版本,东西可能不全;full是完整版本),gpl和lgpl是开源协议版本不同。
这里我采用的shared版本。
安装Qt
我选择的是5.12版,因为该版本可以直接在网上下载到完整安装包。
编译器选择的是MinGW
将 FFmpeg 库加载到Qt项目当中
- 在环境变量中添加动态库文件所在路径(例如):
D:\ffmpeg_dev\ffmpeg-6.1.1-full_build-shared\bin
- 在Qt文件中添加库文件
win32: {
FFMPEG_HOME=D:\ffmpeg_dev\ffmpeg-6.1.1-full_build-shared
# 设置 ffmpeg 头文件路径
INCLUDEPATH += $$FFMPEG_HOME/include
# 加载 ffmpeg 导入库
# -L :指定导入库的目录
# -l :指定要导入的 库名称
LIBS += -L$$FFMPEG_HOME/lib \
-lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lpostproc \
-lswresample \
-lswscale
}
测试FFMpeg 库版本
extern "C" {
#include <libavcodec/avcodec.h>
}
qDebug() << "test: FFMpeg Version: "<< av_version_info();
//加入上述代码,如可以正常打印ffmpeg版本,则说明ffmpeg库正常。如下,运行时会在调试窗口打印如下信息:
//test: FFMpeg Version: 6.1.1-full_build-www.gyan.dev
至此,Qt+FFmpeg环境即完成了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效