[AI Development Lab] 工作中需要把视频抽帧,发现在线的收费,就用ai手搓了一个。
Tofloor
poster avatar
努力的人儿
deepin
13 hours ago
Author

智能视频抽帧:让每一帧都说话

一款面向视频创作者的 uos/deepin桌面效率工具,融合 AI 视觉识别,将数小时的视频素材转化为结构化的分镜表。只支持uos/deepin v25系统。

项目地址:github.com/liujianqiang-niu/uos-video-framer


为什么需要这个工具?

视频创作者、影视后期、自媒体工作者每天都在面对同一个痛点:如何在数小时的素材中快速定位关键画面?

传统的做法是逐帧拖动时间线、手动截屏、在表格里记录时间点和内容描述——整个过程枯燥且低效。一段 30 分钟的素材可能需要花费数小时才能整理出完整的分镜表。

智能视频抽帧正是为解决这一问题而生。


界面展示

截图_选择区域_20260731130019.png

截图_uos-video-framer_20260731140856.png

截图_uos-video-framer_20260731125513.png

截图_uos-video-framer_20260731125443.png

核心能力

双引擎抽帧,覆盖不同场景

基础抽帧模式适用于节奏均匀的素材(如讲座录制、监控录像),按设定时间间隔等间距截取,简单直接。

关键帧智能识别模式则针对影视级素材设计。它基于 8×8 网格分块空间比较算法,每 0.2 秒采样一次 256×256 画面,当画面空间结构发生显著变化时自动判定为镜头切换点并截取关键帧。同时内置最大间隔保护机制(超过 3 秒无关键帧自动强制捕获),确保即使是慢节奏素材也能获得合理的帧覆盖。抽帧过程中可随时点击「停止」按钮取消任务。

用户可调节灵敏度阈值最小镜头时长两个参数,以适应不同风格素材的检测需求。

AI 视觉识别,三维分析每帧画面

抽帧只是第一步。对每张截图,工具内置的 AI 引擎会从三个维度进行智能分析:

维度 说明 示例
景别 大远景 / 远景 / 全景 / 中景 / 中近景 / 近景 / 特写 / 大特写 中景
风格 视觉风格标签 赛博朋克、写实、古风、极简
画面描述 80-200 字详细中文描述 一位中年男性坐在办公桌前,双手交叉托着下巴,表情严肃地凝视着电脑屏幕...

支持豆包、OpenAI、Gemini三种主流 AI 服务,用户使用自有 API Key,数据安全可控。

如果对默认分析维度不满意,用户还可以输入自定义提示词,工具会自动通过 AI 优化提示词,确保识别结果更贴合实际需求。

专业导出,直接交付

分析完成后,支持两种导出格式:

  • Excel 分镜表(.xlsx):包含内嵌高清截图、景别、风格、画面描述的完整分镜表,可直接交付给导演、制片或客户
  • ZIP 图片包:所有帧图片按时间点命名打包,方便在任意设备浏览

体验细节

  • 拖拽上传:直接拖视频文件到窗口即可加载,也支持点击按钮选择文件,自动记忆上次浏览目录
  • 内置播放器:视频加载后可直接预览,支持播放/暂停/进度条拖动定位
  • 平铺/列表双视图:结果展示支持平铺视图(类似文件管理器图标模式)和列表视图(一行一帧带详细信息),可按需切换
  • 全部选中/删除/下载:支持批量操作,灵活管理抽帧结果
  • AI 助手面板:智能对话抽屉,支持自然语言命令(如「导出 excel」「只保留特写」「视频多长?」),可就抽帧内容提问,也用于验证 API 配置连通性。抽帧/AI 完成后主动推送操作建议

技术架构

工具基于 C++17 + Qt6 + DTK6 构建,深度适配统信 UOS 桌面环境:

  • 视频处理:通过 QProcess 调用 FFmpeg,格式兼容性广、质量稳定
  • AI 集成:基于 QNetworkAccessManager 实现 HTTP 客户端,适配 OpenAI 兼容 API
  • 关键帧检测:256×256 采样 + 8×8 网格分块空间比较 + 3 秒最大间隔保护,比传统直方图/像素差法更准确
  • 内存优化:大量帧场景采用缩略图延迟生成 + LRU 缓存策略,即使处理 1000+ 帧素材内存占用依然稳定
  • Excel 导出:纯手工构建 Office Open XML 文档,无需第三方 Excel 库依赖

快速开始

# 安装依赖(UOS / Deepin)
sudo apt install qt6-base-dev qt6-multimedia-dev \
    libdtk6widget-dev cmake g++ ffmpeg

# 构建
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

# 运行
./build/uos-video-framer

# 也可以直接在github上下载deb包。
wget https://github.com/liujianqiang-niu/uos-video-framer/releases/download/1.2.0/uos-video-framer_1.2.0_amd64.deb

适用场景

  • 影视后期:快速生成素材分镜表,标注景别和画面信息
  • 视频剪辑:在大量素材中快速定位特定镜头
  • 内容审核:按时间线快速浏览视频关键画面
  • 教学培训:将课程录像转化为图文讲义
  • 监控分析:按时间间隔提取关键画面

写在最后

智能视频抽帧是一个典型的「AI + 桌面工具」实践——将大模型的视觉理解能力嵌入到专业工作流中,让创作者从繁琐的手工劳动中解放出来,专注于更有价值的创作本身。

我们相信,AI 不是为了替代人,而是为了让人做只有人能做的事情。


项目开源,欢迎试用与反馈。

github.com/liujianqiang-niu/uos-video-framer

Reply Favorite View the author
All Replies
avatar
晚秋(lateautumn)
Moderator
13 hours ago
#1

学习了,谢谢分享!applaud

Reply View the author
avatar
𰻞𰻝面
deepin
12 hours ago
#2

我都是用PS转的😂
deepin0.gif

Reply View the author