通用音视频知识分析
把视频转成可复核的知识报告。默认目标是学习内容,不做短视频运营分析。保留用户可见报告模板、Obsidian 目录、文章版和 Mermaid 思维导图;速度优化不能降低音频/字幕证据门槛。
选择输入与模式
- 接受公开 URL、本地音视频、SRT/VTT、Whisper JSON 或带时间的逐字稿。已有逐字稿时直接预处理,绝不重复下载或转写。
- URL 使用
python scripts/analyze_url.py "<URL>" --output-dir "<工作区>" --browser-fallback。字幕优先;否则仅下载独立音频。只有用户明确要求画面时追加--video。 - 默认使用
--mode fast:medium、beam 1、段落级时间戳。它适合普通短视频,仍输出完整现有报告模板。 - 用户明确要逐词对齐、最高转写质量、重要访谈或高风险引用时才使用
--mode deep;CUDA 下为large-v3、beam 5、词级时间戳。--mode balanced是中间选项。模型默认离线复用共享缓存,首次下载必须由用户明确同意--allow-model-download。 - 使用
--reuse-existing断点续跑同一个视频工作区;输入变更时新建工作区,不复用旧analysis.json。
不可突破的证据门槛
- 不绕过登录、DRM、付费墙、验证码或平台安全措施;不要输出 Cookie、Token 或授权头。
- 没有可用字幕或健康音轨就立即停止。不得根据标题、简介、截图或 OCR 猜测视频内容,也不得静默降级到视觉分析。
- 音轨必须经
audio_gatekeeper.py验证:存在音频流、时长大于 0、采样率至少 16kHz(必要时重采样)且有声比例大于 10%。正常 URL 流程复用首次成功的audio_health.json,不要为同一文件再全量扫描。 - 页面文案只可识别来源,不能当作口播或知识证据。画面结论只在用户明确需要画面且实际查看过帧文件时写入。
快速且可核验的分析
- 统一入口会执行解析、门禁、转写、清洗分章,并输出
analysis-request.json。analysis_input_ready不是完成状态。 - 宿主只做一次符合
references/knowledge-report-schema.json的结构化抽取,保存analysis.json,随后执行返回的resume_command。不要把同一短视频拆成摘要、金句、知识点等多轮调用。 - 对模型只传段落级证据(
segment_id、起止时间、speaker、文本)和章节引用;词级时间戳与章节全文留在本地文件中供核验,不能重复塞入模型上下文。 - 遵守请求中的
analysis_limits:选择最有学习价值且不重复的内容。短视频通常为 3–4 个核心知识点,而非穷举每一句话。 - 运行
render_report.py与build_fts_index.py完成本地校验和索引。原话必须逐字存在于逐字稿;证据、Schema 或就绪闸门失败时不得宣告完成。
报告与追问
- 报告以视频标题命名;抖音为
抖音视频分析报告:{标题}.md,其他来源为视频分析报告:{标题}.md。用report_filename.py得到安全文件名。 - 固定报告标题下先列出来源、解析页面、时长和处理状态,再包含核心知识、内容还原、推导链、知识点详解、事实/观点/推断、学习转化、关键原话、Mermaid 导图、视频内容文章版。Obsidian 目录使用
[[#标题|显示文字]];面向用户的 Markdown 不显示seg_XXXX、HTML 锚点、逐句毫秒时间或Speaker_Unknown。 - 文章版只把已验证的字幕/ASR 碎片按顺序合并成自然段,可补阅读标点但不补充事实或改变措辞顺序。
- 追问先运行
search_fts.py召回少量片段,再基于召回证据回答并附时间戳;不要回灌完整逐字稿。
按需读取
- 短视频 JSON 字段:
references/knowledge-report-schema.json;长视频分章:references/chapter-schema.json。 - 需要调整默认值时读
config.example.yaml;需要检查渲染结构时读templates/report.md.j2。 - 媒体失败时先检查
resolver.json、audio_health.json、transcription.runtime.json与pipeline.json,根据其中的结构化错误处理;不要靠重复下载或猜测解决。