# Douyin Film Recap

> 将电影、电视剧单集或多集素材制作成中文影视解说，支持故事与高光分析、解说方案、分镜和成片交付。保留关键原声、表演与动作，提供可追溯决策和质检。纯影评或纯剧情摘要不使用本 Skill。

- Skill: `dengxianghua888-ops/douyin-film-recap` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add dengxianghua888-ops/douyin-film-recap`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dengxianghua888-ops/douyin-film-recap/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dengxianghua888-ops (https://skillmd.com/u/dengxianghua888-ops)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/dengxianghua888-ops/douyin-film-recap

---


# 影视解说成片 Skill

版本：0.2.0；创作协议：film-recap-content/1。执行前读取本目录 `AGENTS.md`。

## 任务与交付模式

先从用户请求判定交付对象，不把“分析”扩大为配音或渲染：

| 用户目标 | 做到哪里 | 本地入口 |
|---|---|---|
| 分析人物、主线与高光 | 给出证据、候选与不确定点 | `--until highlights` |
| 只要解说方案 | 主线、开头、Beat、剧透策略、声音预算 | `--until plan` |
| 只要可编辑分镜 | Storyboard 与可读脚本；不宣称已生成成片 | `--until storyboard` |
| 完整制作/最终文件 | MP4、SRT、EDL、决策文件与质量报告 | 完整 `run` |

用户明确要求完整制作时持续执行；现有授权可以复用。仅在必要信息、能力、权限或预算阻塞时暂停受影响步骤，其他工作继续。普通风格缺省项自动推断并记录，不逐步确认。

本 Skill 是本地 Python/FFmpeg 执行入口。用户指定 ChatCut 时，使用账号中的 ChatCut 版及当前 Desktop 工具，保留可编辑项目，不将本地合成视频冒充原生时间线。

## 创作目标与约束

核心协议见 [创作与接管协议](references/00_content_contract.md)。必须做到：

- 人物、关系、事件与因果可回到源片证据；外部剧情资料只辅助，不能覆盖素材。
- 分开源片、故事发生、原片揭示与成片四条时间轴。钩子服从已选剧透策略，不能用最高分自动替代可前置资格。
- 高光包括冲突、反击、动作、台词、表演、情绪、揭示、悬念、喜剧、奇观、人物选择与关系变化；只保留对当前作品有用的类型，不追求凑齐分类。
- VO 压缩背景、跳时和过程；原片保留完整台词、动作、反应、停顿与视听价值。VO 不抢下一段最强台词，不重复刚说完的事实。
- 镜头用途清晰：直接举证、上下文、反应或转场。普通 VO 配画从已分析单元选择，不凭事件宽时间范围编造画面。
- 保护源素材与用户已修改片段；局部修改只重做受影响内容。新任务可建工作副本，恢复同一作品不应反复从头生成。

## 输入与默认值

优先从现有上下文获取：素材范围、内容单位、核心问题/视角、目标时长、画幅、剧透策略、旁白偏好、必须保留片段和交付对象。可选 `project.editorial_brief` 记录明确的创作意图，不要求用户填表。

- 缺省画幅：1080×1920、30fps；横屏优先 `safe_fit_blur`，保护关系、动作空间和关键道具。
- 内容单位与时长分开：`highlight` 为 30–90 秒；保留既有 `short` 3–6 分钟、`standard` 6–10 分钟、`deep` 10–20 分钟的兼容语义。实际配置以 `config.example.yaml` 为准。
- 题材默认值是可调整建议。优先级为用户显式设置 > 题材预设 > 通用默认；规划和 QC 读取同一份已解析约束。
- 多集可作为同一作品分析；当前本地运行一次交付一个成片/Part。用户要求每集分别制作时，逐集建独立工作目录，不合成一条后宣称批量完成。
- 输入字幕优先精确同名。允许明确语言后缀，歧义必须暴露，不能把相邻集字幕当成当前集。字幕变化属于输入变化。

## 运行与恢复

在已安装依赖的 Python 3.11+ 环境中：

```bash
python -m douyin_film_recap doctor --config config.yaml
python -m douyin_film_recap run "/path/to/source" --work-dir "./work/project" --config config.yaml
```

先按当前交付模式检查必要能力。完整制作需要 FFmpeg/ffprobe、配置的 LLM/VLM、字幕或 ASR、TTS；烧录字幕需要 libass。缺失能力如实阻断或降级，不静默替换 Provider。

恢复沿用原工作目录。源视频、字幕、可信上下文或有效配置改变时失效相应结果；上游重算后不能沿用旧的下游 QC。人工编辑中间文件后明确从受影响的下游阶段继续，例如修改 Storyboard 文案后 `--from-stage tts`，保留已修改的 Storyboard。

`09_storyboard.json` 是剪辑执行依据；其中素材身份必须与已索引清单一致。运行状态、阶段快照和最终文件校验不能代替用户创作决策，也不能把旧 QC 绑定到新文件。

## 阶段与按需参考

| 阶段 | 必须留下的决策/证据 | 参考 |
|---|---|---|
| ingest / transcript / scenes | 源身份、字幕选择、时间来源、场景单元与抽帧 | [执行与恢复](references/08_execution_and_handoff.md)、[Provider](references/06_provider_contracts.md) |
| scene_analysis / story | 人物、事件、因果、知识变化、证据等级与冲突 | [故事理解](references/03_story_understanding.md) |
| highlights | 高光类型、上下文、最小完整边界、保留/淘汰原因 | [高光分类](references/01_highlight_taxonomy.md) |
| plan / storyboard | 观众承诺、主线、钩子、Beat 变化、镜头用途、声音所有者 | [格式](references/02_douyin_format_playbook.md)、[节奏](references/04_rhythm_protocol.md) |
| tts / pre_qc | 按段音频、真实时长、可靠字幕映射、来源与时长合法性 | [质量门禁](references/05_quality_gates.md) |
| render / post_qc / delivery | 实际消费镜头、MP4/SRT/EDL、QC 证据与最终状态 | [执行与交付](references/08_execution_and_handoff.md) |

低成本索引覆盖全部素材；长镜头也划分分析窗口，但保留原连续镜头关系。候选高光再抽密集 filmstrip，窗口边界不应成为机械剪切边界。

先完成故事与原声骨架，再生成 TTS。配音超出画面时长时，运行时优先重写整句；需要补画由 Agent 修改 Storyboard 后续跑。速度调整默认限于 0.95–1.08。按段复用有效音频，失败恢复不能盲目重复整条配音。

## 完成标准

必须区分三个问题：文件是否正确、内容是否讲对、成片视听是否成立。

- 确定性门禁：来源一致、时间合法、无未经允许的重复、对白边界/TTS 完整、画面覆盖音频、输出规格和字幕产物符合要求。
- 语义复核：人物与因果有证据，钩子未违反揭示约束，VO 与实际选中画面一致；模型意见需回源验证，不能伪装成确定事实。
- 成片复核：检查最终合成画面和声音，记录方法、范围、证据及剩余风险。结构检查、源片截图或文件存在不等于全片看过/听过。
- 原声字幕按源时间映射输出时间；均匀分配产生的词时间标为估算，不能作为可靠切点。无对白动作/沉默段不生成虚构台词字幕。
- EDL 记录实际消费的镜头范围，不能把未进入成片的候选画面写作已用镜头。

`PASSED`：该交付模式要求的检查已完成且证据有效。`DEGRADED`：可审阅，但有明确能力降级或关键验证缺口。`BLOCKED`：存在阻断性错误，保留中间产物供修复。不得隐藏未执行的检查或沿用失效报告。

本地自动修复当前只覆盖明确列出的渲染故障；不宣称实现自动剧情纠错或审美修复。计数统一为：初检 → 修复 1 → 复检 → 修复 2 → 最终复检；仍失败只报告，不执行修复 3。局部创作修复由 Agent 按源证据处理，并重跑受影响的检查。

## 交付与接管

保留 `state.json`、`00`–`11` 阶段 JSON、可读脚本，以及 `output/final.mp4`、`preview.mp4`、`master.srt`、`edit_decision_list.json`、`delivery_report.md`。分析/方案模式只交付已执行阶段，勿列未生成文件为完成。

报告说明：交付模式、实际文件/版本、时长与画幅、主线/高光/声音分工、检查证据、模型服务、失败或降级项。用户可修改高光清单、方案与任意分镜段；任务中出现的素材 ID、时间码和生成任务记录只留在该作品工作目录。

## 评测与边界

修改模型、Prompt、召回或剪辑逻辑后，按 [评测协议](references/07_evaluation_protocol.md) 验证受影响能力。`evals/` 区分合成回归与真实内容评测；缺素材/金标时标为未就绪，不得把占位案例计入通过率。稳定关注严重事实错误、禁止剧透、残句、漏高光和每分钟成片的人工修正时间。

仅处理获授权的素材；不去水印、规避版权检测或自动发布。不把素材或密钥上传到未配置的第三方。没有明确的真实片源评测与听检证据时，不宣称生产级内容质量或发布效果。

