seora's Studio

LOADING...

seora's Studio.

DOVideo-AI · 面向长视频理解的 Video Agent

字数统计: 1.4k阅读时长: 5 min
2026/10/08

DOVideo-AI · 面向长视频内容理解的 Video Agent

项目仓库:https://github.com/everythingis-ok/DOVideo-AI(MIT License,欢迎 Star ⭐)

DoVideoAI 是一个面向长视频内容理解的 Video Agent,致力于把长视频转化为可检索、可追溯、可继续追问的结构化知识。

用户登录后可以上传视频并在工作台管理解析任务;选择视频并输入分析目标后,既可以手动选择分析模式,也可以交给 Agent 自动判断。工作台会展示结构化结论、时间戳证据、执行计划、阶段轨迹与质量评估,并支持基于同一视频继续追问。

核心能力

长视频处理天然是长耗时、高资源消耗、外部调用成本敏感的场景,项目的设计围绕这一背景展开,分为四层能力。

可靠的视频任务链路

把大文件上传与耗时的视频解析从请求主链路中剥离,提交即返回,不阻塞、不重复烧钱。

  • 分片上传 + 断点续传:前端按 5 MB 分片,Redis 记录已完成分片,MinIO 保存合并后的视频,弱网中断后可从断点续传。
  • 异步削峰:RocketMQ 将视频解析移出请求线程,提交后立即返回任务 ID;Redisson 按「内容指纹 + 分析目标」加锁,拦截并发与重复消费。
  • 成本护栏:用户级与全局令牌桶限制 AI 请求速率;ASR 与模型调用采用有限次数的指数退避重试,兜底第三方网络抖动。

时序多模态 VideoContext

把语音、画面文字与时间戳融合成一份可检索、可校验的统一上下文。

  • 双分支抽取:FFmpeg 将音频按 60 秒切片,同时通过场景变化检测抽取关键帧,并以 30 秒保底采样避免遗漏静态板书。
  • 并行与容错:ASR 与 OCR 使用独立有界线程池并行执行;相邻画面通过感知哈希去重,单路失败时仍保留另一条有效信息。
  • 统一结构:语音区间、OCR 文本、关键帧与时间戳被合并为统一的 VideoSegment,后续检索与校验不再依赖底层模型格式。
1
2
3
4
[02:00 - 03:00]
ASR 接下来讲解二叉树的前序遍历
OCR 前序遍历:根节点、左子树、右子树
Evidence frame_000125.jpg

有证据约束的 AgentLoop

每条结论都必须绑定可在原始视频中核验的时间戳证据,拒绝模型自由发挥。

  • 角色分工:Planner 将用户目标拆成可执行任务,Executor 生成固定结构的结论、证据与建议。
  • 闭环校验:Critic 检查目标覆盖、结构完整性与时间戳证据;不通过时依据缺失内容和时间范围定向重新检索。
  • 自动模式路由:根据用户目标自动选择通用、学习、审查或创作模式;路由不可用时回退通用模式,不阻断分析任务。
  • 四类结构化产物:通用模式生成结论与建议;学习模式生成大纲、自测题与易错点;审查模式定位逻辑漏洞与存疑结论;创作模式提取爆点、标题与口播脚本。
  • 成本可控:AgentLoop 最多执行两轮,既允许定向修正,也通过轮次上限约束延迟与 Token 成本。

长视频检索与断点恢复

面向数小时长视频的分段检索,以及分阶段可恢复的任务状态机。

  • 混合检索:每 5 分钟生成片段摘要、关键词与 Embedding,通过关键词匹配与 Qdrant 语义召回选出 TopK 原始证据。
  • 优雅降级:Qdrant 或 Embedding 服务不可用时,退化到本地关键词与已有向量排序,不阻断主分析链路。
  • 断点恢复:Checkpoint 以 MySQL 为恢复真源、Redis 为热缓存,持久化 VideoContext、分块、计划、Critic 状态与最终结果。
  • 状态可观测:前端通过 SSE 接收任务阶段;失败消息写入独立失败主题与失败任务表,可由管理接口重新投递。

技术栈

层次 技术 用途
Web Vue 3、Vite、SSE、Marked 上传、Agent 工作台、实时进度与安全 Markdown 展示
API Java 21、Spring Boot 3.5.9、Undertow、MyBatis-Plus 鉴权、媒体管理、任务编排与 REST API
异步与缓存 RocketMQ 5.3.4、Redis 7.4、Redisson 异步削峰、状态缓存、限流、锁与消费幂等
数据与存储 MySQL 8、MinIO、Qdrant 业务数据、视频对象、Checkpoint 与向量检索
视频与 AI FFmpeg、Tesseract、LangChain4j、DeepSeek、TeleSpeechASR、BGE-M3 音视频处理、多模态解析、Agent 推理与 Embedding
部署 Docker Compose 本地中间件编排

本地运行速览

环境要求:JDK 21、Node.js 22、Docker Compose v2、FFmpeg、Tesseract(安装 chi_sim 与 eng 语言包)。

1
2
3
4
5
6
7
8
9
10
11
# 1. 准备配置(至少填写 SILICONFLOW_API_KEY 与各中间件密码)
cp .env.example .env

# 2. 启动 MySQL / Redis / MinIO / Qdrant / RocketMQ
./scripts/dev-up.sh

# 3. 启动后端(默认 http://localhost:9090)
./scripts/dev-server.sh

# 4. 启动前端(默认 http://localhost:5173)
cd client && npm ci && npm run dev

只想体验前端 Agent 工作台时,可直接访问 http://localhost:5173/?demo,Demo 模式使用内置示例数据,不依赖后端服务。

更详细的配置项说明、常见问题与目录结构请直接查看仓库 README:

🔗 https://github.com/everythingis-ok/DOVideo-AI

CATALOG
  1. 1. DOVideo-AI · 面向长视频内容理解的 Video Agent
    1. 1.1. 核心能力
      1. 1.1.1. 可靠的视频任务链路
      2. 1.1.2. 时序多模态 VideoContext
      3. 1.1.3. 有证据约束的 AgentLoop
      4. 1.1.4. 长视频检索与断点恢复
    2. 1.2. 技术栈
    3. 1.3. 本地运行速览