背景:长视频问答的核心问题不是”能不能看视频”
多模态大模型已经可以处理视频输入,能够完成摘要、问答、信息抽取和按时间点提问。但在生产系统里,长视频理解的问题并不只是模型能力,而是一个完整的工程链路问题。
一个短视频摘要 Demo 可以直接上传视频并提问;一个生产级视频知识库却要面对更复杂的情况:视频可能长达几十分钟甚至数小时,画面中有快速动作、字幕、多人对话、屏幕文字、重复场景和噪声片段。用户的问题也不一定是”总结一下”,而可能是”第 17 分钟之后谁先操作了设备""哪一段出现了安全帽缺失""这个广告里产品卖点第一次出现在哪个镜头”。
这类问题要求系统不仅能回答,还要能说明答案来自哪个时间段、哪一帧、哪句字幕或哪段镜头。否则长视频问答很容易出现三类质量回退:漏看关键帧、混淆事件顺序、给出无法复核的结论。
资料基础:官方能力与研究结论给出的共同信号
Google Gemini API 的视频理解文档明确说明,模型可用于描述、分割、抽取视频信息、回答视频内容问题,并支持引用视频中的具体时间戳。它也说明了不同输入方式的适用场景,例如 File API 适合大文件和可复用视频,Inline Data 更适合小文件和短视频,YouTube URL 可用于公开视频。
同一文档还给出了对生产设计非常关键的限制:Gemini 默认会以约 1 FPS 的方式处理视觉描述,这对多数内容有效,但快速动作或快速切换场景可能丢失细节;视频 Token 也会随时长增长,在默认媒体分辨率下约为每秒 300 tokens,低媒体分辨率约为每秒 100 tokens。
Azure AI Video Indexer 的文档则从传统视频索引系统角度补充了工程事实:生产视频系统通常会抽取转写、字幕、关键帧、对象、场景、镜头、OCR、人物、标签和时间戳等结构化洞察,用这些中间产物支持深度搜索、内容创作、可访问性、推荐和审核。
Video-MME、TemporalBench、Moment Sampling 等论文进一步说明,长视频理解的难点不仅是静态视觉识别,还包括跨时间段的信息聚合、事件顺序、动作频次、快速变化和问题相关关键帧选择。换句话说,生产系统不能只依赖”把完整视频交给模型”,还要设计一套面向问题和证据的采样、索引与回放机制。
核心原理:把长视频拆成可检索、可复核、可回放的证据单元
长视频理解系统可以拆成三层。
第一层:视频结构化预处理。 系统把原始视频切成片段,识别镜头边界,抽取关键帧,生成字幕或转写文本,记录 OCR、对象标签、人物或音频事件,并为所有产物绑定统一时间戳。
第二层:问题相关证据检索。 当用户提问时,系统不是直接把整段视频送入模型,而是先用字幕、OCR、镜头标签、关键帧描述和向量检索找出候选时间段,再根据问题类型决定是否扩大前后窗口。
第三层:多模态复核生成。 模型只接收候选片段、关键帧、字幕和必要上下文,并被要求输出答案、证据时间戳、置信度和可回放片段。这样可以降低成本,也能减少模型根据全局印象猜测的空间。
生产级长视频问答的目标不是一次性”看懂所有内容”,而是让系统在每个问题上都能找到足够小、足够相关、足够可验证的证据包。
工程落地:一条稳定的视频问答流水线
1. 上传与预处理
视频进入系统后,先不要立即调用大模型做长上下文问答。更稳妥的做法是进入异步处理队列,生成基础资产:原始视频、低分辨率代理文件、音频轨、字幕、镜头切分、关键帧、OCR、缩略图和对象标签。
需要特别注意的是,所有中间产物必须使用统一时间轴。字幕的开始和结束时间、关键帧时间点、镜头边界、OCR 出现时间、对象出现时间都应该落到同一套 timestamp schema 中。后续问答、回放、审计和人工复核都依赖这一点。
2. 镜头切分与关键帧采样
最简单的做法是固定采样,例如每秒一帧。但固定采样不是万能方案。它适合课程视频、会议视频、访谈和低运动内容;对于体育、监控、广告、操作演示、游戏录像和短镜头频繁切换的视频,固定低 FPS 可能直接错过关键动作。
生产系统可以采用三层采样策略:
| 采样层 | 策略 | 适用场景 |
|---|---|---|
| 基础采样 | 按固定 FPS 或固定间隔获取全局摘要能力 | 全局概览、摘要类任务 |
| 镜头采样 | 每个 shot 至少保留一个稳定关键帧,避免长静态片段浪费预算 | 静态场景、长会议、课程 |
| 问题驱动采样 | 用户问题涉及动作、顺序、计数、细节时,提高候选片段附近采样密度 | 精细问答、合规审计 |
一个可落地的配置示例如下:
{
"base_sampling": {
"fps": 1,
"max_frames_per_video": 3600
},
"shot_sampling": {
"min_keyframes_per_shot": 1,
"max_keyframes_per_shot": 5,
"prefer_stable_frames": true
},
"question_aware_sampling": {
"enabled": true,
"high_motion_window_seconds": 8,
"timestamp_padding_seconds": 5,
"increase_fps_for_actions": true
},
"evidence_policy": {
"require_timestamp": true,
"require_replayable_clip": true,
"max_clip_length_seconds": 45
}
}
这类配置不要一次写死,应按业务场景灰度调整。例如教育视频更依赖字幕和章节,监控视频更依赖人、物和事件时间,广告视频更依赖镜头节奏和视觉卖点。
3. 时间戳索引
长视频问答系统至少需要维护四类索引:
| 索引类型 | 记录内容 | 适用问答类型 |
|---|---|---|
| 字幕索引 | 每句话的起止时间、说话人、语言、转写置信度和原文 | ”谁说了什么""哪里提到某个概念” |
| 视觉索引 | 关键帧描述、OCR、对象、场景标签、镜头边界 | ”画面中出现了什么""什么时候出现某个标志或物品” |
| 片段向量索引 | 视频片段的文本摘要、字幕、OCR 和关键帧描述向量化 | 从问题召回相关片段 |
| 证据索引 | 模型历史回答关联的 clip_id、timestamp、frame_id、字幕段和人工复核状态 | 质量审计、回放错误案例 |
4. 片段回放与二次复核
模型回答长视频问题时,最好不要只返回自然语言结论。更稳妥的输出结构应包含:答案、时间戳、候选片段、引用字幕、关键帧 ID、置信度和无法确认的部分。
业务系统收到回答后,可以根据问题风险决定是否触发二次复核:
- 普通摘要类问题:允许直接输出,但保留片段引用。
- 检索定位类问题:必须返回可点击时间戳。
- 合规、安全、事故分析类问题:必须附带片段回放和人工复核入口。
- 模型无法定位证据:返回”未找到可靠证据”,而不是编造答案。
适用场景
长视频理解流水线适合以下场景:
- 企业培训视频问答:按课程片段、字幕和 PPT OCR 定位答案。
- 会议与访谈分析:结合说话人、字幕和章节摘要做检索。
- 监控与安全巡检:定位人员、设备、异常动作和事件时间。
- 营销与广告审核:抽取品牌露出、字幕卖点、镜头节奏和风险内容。
- 客服录屏分析:结合屏幕 OCR、鼠标操作、语音转写和时间轴复核问题。
不太适合的场景也要提前说明。如果业务要求毫秒级实时理解,或者必须对每一帧做高精度检测,单纯依赖通用多模态 LLM 并不合适,通常还需要专用 CV 模型、流式处理和事件检测系统。
常见误区
误区一:只提高模型能力,不治理采样链路
更强的模型可以提升理解能力,但如果关键帧没有进入上下文,模型仍然无法回答。长视频系统的第一质量门槛是采样和召回,而不是生成。
误区二:把字幕当成完整视频理解
字幕能覆盖语音信息,但不能覆盖画面动作、屏幕文字、对象关系和无声事件。很多安全、广告、操作类问题必须同时看字幕、OCR、关键帧和镜头片段。
误区三:答案没有时间戳也算通过
长视频问答如果不能定位证据,就很难被信任。生产系统应把时间戳、片段 ID、关键帧和字幕引用作为默认输出要求,而不是可选增强项。
误区四:固定 FPS 适合所有视频
固定采样容易实现,但对快速运动和短镜头内容不稳定。更合理的做法是先用固定采样覆盖全局,再用镜头变化、问题意图和候选片段做局部加密采样。
上线检查
上线前至少检查以下事项:
- 视频上传、转码、字幕、关键帧、OCR、镜头切分是否有完整状态机
- 所有中间产物是否绑定统一时间轴
- 是否区分摘要、定位、计数、顺序、合规判断等问题类型
- 是否有问题驱动的候选片段召回策略
- 模型输出是否强制包含证据时间戳和片段 ID
- 是否能对回答进行片段回放
- 是否有”找不到证据”的降级回答
- 是否记录回答、证据、模型版本、采样配置和人工复核结果
- 是否有按视频类型划分的回归测试集
- 是否监控关键帧遗漏、无证据回答、人工驳回率、平均处理时长和每分钟视频成本
如何评估长视频理解质量
不要只看最终答案准确率。还要评估以下维度:
| 评估维度 | 说明 |
|---|---|
| 证据命中率 | 模型回答是否能在视频中找到对应证据片段 |
| 时间戳偏差 | 引用的时间戳与实际事件时间的偏差 |
| 关键帧召回率 | 问题相关关键帧是否被成功采样和送入上下文 |
| 字幕与视觉冲突处理 | 字幕内容与画面内容不一致时的处理策略 |
| 人工复核通过率 | 人工复核后认定回答正确的比例 |
| 无证据回答比例 | 模型正确识别无法回答并降级的比例 |
| 不同视频类型稳定性 | 在课程、监控、广告、访谈等类型上的质量方差 |
参考资料
- Google Gemini API Video Understanding:https://ai.google.dev/gemini-api/docs/video-understanding
- Azure AI Video Indexer Overview:https://learn.microsoft.com/en-us/azure/azure-video-indexer/video-indexer-overview
- Video-MME: The First-Ever Comprehensive Evaluation Benchmark of Multi-modal LLMs in Video Analysis:https://arxiv.org/abs/2405.21075
- TemporalBench: Benchmarking Fine-grained Temporal Understanding for Multimodal Video Models:https://arxiv.org/abs/2410.10818
- Moment Sampling in Video LLMs for Long-Form Video QA:https://arxiv.org/abs/2507.00033
- Self-Adaptive Sampling for Efficient Video Question-Answering on Image-Text Models:https://arxiv.org/abs/2307.04192