Thanks to visit codestin.com
Credit goes to github.com

Skip to content

🎥 一款轻量高性能的 PC 端视频播放器,专为开发者、调试人员与多媒体工程师设计。

Notifications You must be signed in to change notification settings

cloudchen572/FFmpeg-Qt

 
 

Repository files navigation

🎛️ FFmpeg-Qt 视频播放工具

🎥 一款轻量高性能的 PC 端视频播放器,专为开发者、调试人员与多媒体工程师设计。
支持多格式解码、精准定位、音视频同步与分析,适配 FFmpeg 强大解码能力 + Qt 灵活 UI 架构。

demo


🎯 核心功能亮点

📼 专业级视频播放

  • ✅ 支持精准帧级 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)

✨ 新版本特性(v2.0)

  • ⏱️ 全新 Seek 模块,支持任意毫秒精准跳转
  • 🖼️ 实时缩略图生成功能
  • 🎛️ 视频帧回调 + 图像缓存优化
  • 🖥️ 多窗口视频预览与同步播放支持
  • 🚀 性能优化:启动更快、CPU 占用更低、解码效率提升约 30%

🧰 编译要求

依赖项 推荐版本 Qt Qt 5.12+ / 6.x FFmpeg FFmpeg 4.2+ 编译工具链 MSVC / MinGW / GCC

构建(CMake 示例)

mkdir build && cd build cmake .. && make

📄 License

本项目使用 MIT 开源许可证,欢迎二次开发或商业定制。

📬 联系方式

作者:梅启升 GitHub: @meiqisheng 邮箱:[email protected] 微信 / QQ 技术交流群请私信作者申请

About

🎥 一款轻量高性能的 PC 端视频播放器,专为开发者、调试人员与多媒体工程师设计。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.5%
  • C++ 1.4%
  • QMake 0.1%