🎥 一款轻量高性能的 PC 端视频播放器,专为开发者、调试人员与多媒体工程师设计。
支持多格式解码、精准定位、音视频同步与分析,适配 FFmpeg 强大解码能力 + Qt 灵活 UI 架构。
- ✅ 支持精准帧级 Seek,毫秒级控制定位
- ✅ 实时播放帧回调,适用于图像分析/截图/检测
- ✅ 自定义帧率控制,支持逐帧播放、暂停、跳转
- ✅ 支持硬解码(支持 QSV / CUDA / DXVA2 / VAAPI)
- 支持主流格式:MP4 / AVI / MKV / MOV / TS / FLV
- 支持 H.264 / H.265 / VP9 / AV1 等视频编码格式
- 多媒体封装支持自动识别与分流
- 拖拽视频文件即可播放
- 快捷键支持暂停、快进、慢放、截图
- 帧图像输出支持保存为 JPEG/PNG/BMP
- 实时音频播放:QAudioOutput 或 WASAPI 独占
- 支持 10 段 EQ 均衡调节(音频滤波可扩展)
- 音视频同步精准 <1 帧误差
| 模块 | 说明 |
|---|---|
| 解码引擎 | FFmpeg 多线程 AVFrame 解码 |
| 视频输出 | QImage / OpenGL / QVideoWidget 支持 |
| 音频输出 | QAudioOutput / PortAudio / WASAPI |
| 像素格式转换 | 支持任意输入 → RGB24 / RGBA 输出 |
| Seek 精度 | 毫秒级定位 + 最接近关键帧追帧 |
| 同步精度 | 自适应音视频时钟同步,误差 < 1 帧 |
| 截图输出 | 支持保存当前帧为图像,带时间戳命名 |
- 基于
QThread线程播放架构,解码播放分离更稳定 - 信号槽:
frameReady(QImage)/positionChanged(qint64)接口友好 - 可扩展:提供解码后图像帧用于图像处理 / 目标识别等应用
- 多平台支持:Windows / Linux / macOS(需安装 FFmpeg)
- ⏱️ 全新 Seek 模块,支持任意毫秒精准跳转
- 🖼️ 实时缩略图生成功能
- 🎛️ 视频帧回调 + 图像缓存优化
- 🖥️ 多窗口视频预览与同步播放支持
- 🚀 性能优化:启动更快、CPU 占用更低、解码效率提升约 30%
依赖项 推荐版本 Qt Qt 5.12+ / 6.x FFmpeg FFmpeg 4.2+ 编译工具链 MSVC / MinGW / GCC
mkdir build && cd build cmake .. && make
本项目使用 MIT 开源许可证,欢迎二次开发或商业定制。
作者:梅启升 GitHub: @meiqisheng 邮箱:[email protected] 微信 / QQ 技术交流群请私信作者申请
