长视频检索最容易被低估的部分,并非某一次转录或画面描述,而是怎样让来源不同的观察指向同一段真实时间。这个 MVP 是个人兴趣实验,目标很窄:输入一段较长视频,建立可重建的本地产物,再让查询结果带着时间范围和证据引用返回,必要时导出对应片段供人工确认。
逻辑分片与全局时间
处理长视频时,音频和画面可以按逻辑区间分批分析。分片只是一种执行方式,不应成为检索结果的时间基准。每个分片保存它在原视频中的起始偏移,分片内部的时间戳在写入产物前换算为全局时间:
全局时间 = 分片起始偏移 + 分片内时间
这样做以后,跨分片的转录句子、场景边界和导出范围都能使用同一套坐标。分片长度或并行方式以后发生变化时,查询层仍然只处理原视频时间,无需理解某条记录来自第几个分片。
让语音与视觉观察汇合
语音转录适合回答“说了什么”,视觉观察更适合补充“画面出现了什么”和“场景何时变化”。两者先保留各自结构,再通过起止时间进入统一时间轴。转录记录包含文本和时间范围;视觉记录包含观察摘要、采样时刻或覆盖区间,以及对应的来源引用。
汇合并不意味着把两类内容拼成一段长文本。查询时先依据时间重叠和相关性选出候选,再把相邻语音与视觉证据组合成结果。这样既能保留各自的可追溯性,也能避免一条视觉描述被误认为整段语音的解释。
JSONL 产物与证据引用
每次摄取会形成一组可独立检查的产物:媒体元数据,以及保存分片记录、转录、视觉观察和时间轴条目的 JSONL 文件。查询过程读取转录、视觉观察和时间轴三类 JSONL,并在三类来源中检索。原始媒体与派生产物分开保存,不会被复制进单一的大型分析文件。
匹配候选会保留开始时间、结束时间、命中原因、分数和证据引用。相邻候选可以合并为一个片段,同时保留去重后的引用和导出范围。引用能够指出哪些转录、视觉观察或时间轴事件参与了片段匹配,其作用是回看与核对,并非把模型输出包装成确定事实。
索引重建
派生索引可以从现有产物重新生成。当前重建命令读取转录、视觉观察和时间轴三类 JSONL,把其中的记录转换为三组索引文档,写入 index_documents.jsonl,并在 index_manifest.json 中记录文档总数与各来源数量。
产物版本字段、内容摘要校验、无效来源记录拒绝,以及重建时按全局时间排序,均属于可供后续考虑的增强设计,并非当前实现。可重建索引仍是派生表示,不是处理结果的唯一记录。
从证据范围导出片段
查询命中后,可以把证据范围转换成片段导出任务。导出区间在命中起止时间之外保留少量上下文,并限制在媒体总时长内。输出可以包含视频片段、音频、字幕、代表帧和一份描述时间范围与证据引用的清单。可选的区间级视觉复核只用于微调边界,原始命中时间仍然保留,便于比较调整前后的依据。
导出是人工检查的入口,不是查询的附带装饰。只返回一段自然语言摘要时,很难判断边界是否正确;把相同时间坐标交给播放器和导出器后,检索结果才能回到可观看的材料。
适用边界
这个结构适合个人资料整理、讲座回看、访谈定位和较长录屏中的片段查找。它依赖时间戳质量,也会受到语音识别误差、画面采样稀疏和视觉描述偏差影响。快速动作、细小文字、重叠说话或需要逐帧判断的内容,仍需更密集的采样或人工复核。
当前状态验证的是结构与处理顺序,包括逻辑分片、全局时间换算、可替换分析后端、索引重建和证据导出。它没有被描述成重型模型的大规模处理结果,也不承担档案管理、内容审查或自动事实判断。
实验心得
这次实验最有价值的部分是统一时间坐标和可重建产物,而非单独增加一种模型。只要每条观察都保留来源标识和时间范围,后续检索方式可以变化,错误也有位置可查。先把证据组织清楚,再讨论摘要质量,长视频工具才更接近一个可检查的资料助手。