← Files 中文口播智能粗剪ARCHIVED FILE
skills/rough-cut/references/postproduction_modules.md
25.6 KB · Oct 4, 2026 · 12:29 UTC
# 口播模块化后期规范
本文件是后期包装的**执行规范**。先完成 A-roll 粗剪、④.5 通读和字幕文本审查,再按本规范
生成 `output/postproduction_plan.json`。不得先看时间轴空不空再凑效果;所有条件模块都必须
绑定触发台词、结束台词、理由和证据等级。
## 目录
1. 总体目标
2. 信息层级与画面安全区
3. 模块架构
4. 基础模块
5. 结构模块
6. 语义强调模块
7. 证据与情境模块
8. 音频模块
9. 视频类型预设
10. 模块选择算法
11. 计划文件格式
12. 执行顺序
13. QA 与验收
14. 当前实现边界
## 1. 总体目标
通用口播后期服务五件事,按优先级排序:
1. **保证表达完整、自然、可信**;
2. **让观众随时知道视频讲什么、讲到哪里**;
3. **降低字幕阅读负担**;
4. **只在结论、结构和语义转折处增强记忆**;
5. **用 B-roll、图形和音效补充信息,不制造无意义热闹**。
总原则:
- 没有语义理由的效果不加;
- 一句话通常只有一个主视觉重点;
- 人声永远是最高音频层;
- 脸、眼神、关键手势永远是最高画面保护对象;
- 普通字幕负责阅读,花字负责结论,二者不能在同一区域重复同一句;
- 不确定的规则标为 `candidate`,不得当作默认规律批量应用。
## 2. 信息层级与画面安全区
### 2.1 信息层级
从稳定到瞬时分为五层:
| 层级 | 作用 | 典型组件 |
|---|---|---|
| L0 画面底层 | 记录人物和环境 | 原始画面、基础调色、基础景别 |
| L1 导航层 | 告诉观众“讲什么、讲到哪” | 顶部主题、章节导航 |
| L2 身份层 | 告诉观众“谁在说” | 用户提供的姓名与身份 |
| L3 阅读层 | 让观众读懂当前口播 | 普通跟读字幕、关键词着色 |
| L4 强调层 | 让观众记住结构或结论 | 章节卡、累积花字、观点花字、语义图形 |
同一时刻通常只允许一个 L4 主重点。L4 出现时,L3 在冲突区域让位。
### 2.2 1080×1920 基准安全区
所有数值按比例缩放到其他 9:16 分辨率:
- 顶部主题区:画面高度约 `6%–20%`;
- 人脸保护区:由抽帧或人脸检测确定,任何文字不得遮挡眼睛、鼻口;
- 人物头衔区:人物肩侧负空间,高度通常约 `48%–66%`;
- 普通字幕区:高度通常约 `61%–78%`,默认底距约画面高 `25%`;
- 花字区:高度约 `38%–72%`,与普通字幕互斥;
- 抖音右侧交互保护:右侧约 `10%` 尽量不放重要文字;
- 底部说明/来源:底部约 `82%–88%`,避开平台说明和进度条。
版式优先级:
`脸/手势 > 顶部主题 > 当前花字 > 普通字幕 > 人物头衔 > 来源标注`
人物头衔和来源标注可移动;脸、主题和当前结论不可被牺牲。
## 3. 模块架构
后期由四组模块组合:
### 3.1 基础常驻模块
每条片默认都要做:
- `topic`:顶部主题;
- `captions`:普通字幕;
- `voice`:人声优先;
- `identity`:人物身份,允许条件关闭或分段显示。
### 3.2 结构模块
只有视频结构需要时才用:
- `hook-intro`:开场主题入场;
- `chapter-nav`:长视频章节导航;
- `chapter-card`:准则、误区1、误区2等同级章节;
- `shot-state`:基础/强调两档景别;
- `cta`:行动号召。
### 3.3 语义与证据模块
只有明确语义事件触发:
- `cumulative-flower`:并列项逐条累积;
- `claim-flower`:一句核心观点;
- `keyword-emphasis`:普通字幕内少量着色;
- `semantic-icon`:问号、金币、警示等同义图形;
- `broll-evidence`:商品、截图、数据或第三方素材;
- `story-portal`:进入他人故事/回忆的短入口;
- `quote-simulation`:直接引语或角色模拟,当前仅候选。
### 3.4 音频模块
- `voice-cleanup`:必要时降噪、响度与音色整理;
- `bgm-bed`:通过风格适配门槛才启用;
- `sfx-cue`:与视觉事件同拍的短提示音。
## 4. 基础模块
### M01 `topic` 顶部主题
**职责**:全片导航,不跟随口播闪动。
**文案**:
- 提炼成 6–14 个汉字;
- 最多两行;
- 不是逐字抄第一句;
- 问题型、结论型均可,但必须覆盖整条片主题。
**两种稳定风格**:
1. `topic-serif-yellow`
- 单行或两行金黄色粗宋/宋楷感标题;
- 右倾约 `7°–9°`;
- 深色短投影;
- 适合户外、明亮、正面口播。
2. `topic-two-tone`
- 第一行白色、第二行黄色;
- 顶部居中;
- 同样使用粗宋/宋楷感标题和深色投影;
- 适合问题型两行主题,如“怎样把目标/变成行动计划”。
**1080 宽基准**:
- 字号约 `92–105px`,按文本宽度缩小;
- 总宽不超过画面 `88%`;
- 顶部起点约画面高 `7%–15%`;
- 阴影偏移约 `6–9px`。
**时间**:默认全片;如果有开场大标题入场,常驻态可在入场完成后开始。
**禁止**:
- 与章节卡使用完全相同的样式;
- 因为背景复杂就随意更换字体;
- 超过两行;
- 把 CTA 写进主题标题。
### M02 `identity` 人物头衔
**职责**:建立身份,不承担视频主题。
**内容约束**:
- 姓名和身份只能来自用户在当前任务中明确提供的信息;
- 未提供时关闭人物头衔,不得使用模板占位文字;
- 学历、职位、组织关系、家庭状态和其他背书必须逐项经用户确认。
**视觉**:
- 姓名青绿色,建议 `#39D8D0`;
- 身份白色;
- 与普通字幕使用同一正文中文字体;
- 1080 宽:姓名约 `46–50px`,身份约 `39–43px`;
- 字距收紧,行距紧凑;
- 使用短距离黑色投影;
- 放人物肩侧负空间,默认自动判断左右。
**显示策略**:
- 开场建立一次;
- B-roll、花字、故事状态或明显景别重置后,回到完整 A-roll 时可再次出现;
- 两次重新出现之间一般至少相隔 `12–15s`;
- 单次显示通常 `4–20s`,取决于画面空间;
- 与中部大花字冲突时优先隐藏头衔;
- 不要求全片常驻,也不要求只在前 5 秒出现。
计划使用 `spans:[[start,end], ...]` 表示分段显示。
### M03 `captions` 普通字幕
**职责**:承担阅读,不承担结构导航。
**默认视觉**:
- Skill 内的开源中文字体;
- 白字+柔和黑色投影;
- 自然字重;
- 字距约 `-3%`;
- 1080 宽默认字号约 `69px`;
- 中下部居中;
- 一行优先,必要时两行。
**分页规则**:
- 每页约 `4–8` 个汉字为软目标;
- 语义完整优先,可适度超过;
- 数字+单位、百分号、英文词组不得拆开;
- 不在助动词、介词、数量词、否定词或强粘连短语中间断开;
- 相邻字幕不得重叠;
- 每页只表达一个立即可读的意群。
**关键词着色**:
- 每个字幕页通常不超过 1 个重点;
- 金黄用于题眼、数据、品牌、卖点;
- 红色只用于否定、紧迫或强设问;
- 已经使用花字时,不再在同一句字幕里重复着色。
### M04 `voice` 人声层
**职责**:所有音频设计以听清口播为前提。
- 默认保持原速 `1.0`;
- 不用全片倍速弥补内容冗长,应从文字层剪;
- 底噪明显时先做降噪,不用 BGM 掩盖;
- 音频切口保留完整字尾;
- 任何 BGM/SFX 不得盖住品牌名、数字、否定词和句首辅音;
- 交付前必须戴耳机检查全部删除接口。
## 5. 结构模块
### M10 `hook-intro` 开场钩子入场
**触发**:开场存在明确问题、反常识观点或一句能独立成立的强结论。
**推荐组合**:
- 主题标题先以大字号置于画面中部;
- `0.3–0.7s` 内缩小/切换到顶部常驻态;
- 画面进入强调景别;
- 可短时加暗角;
- 人物头衔在 `0.1–0.5s` 后进入;
- 如钩子含明确语义图形,可在钩子尾部出现。
**退出**:钩子说完整或正文第一句开始,通常 `2–4s`。
**不触发**:开场只是普通铺垫、问候或不完整句。
### M11 `shot-state` 两档景别
**状态**:
- `base`:解释、举例、长段铺陈;
- `close`:设问、结论、评价、强转折、关键建议。
**倍率**:`close` 通常为 `base` 的 `1.15–1.25×`;特殊钩子最高约 `1.30×`。
**规则**:
- 在完整语义边界直接切换;
- 同一重点内保持状态,不做频繁呼吸缩放;
- 新章节常回 `base`,结论进入 `close`;
- 跳剪姿态明显时可用景别切换掩饰;
- 不按固定秒数切换。
### M12 `chapter-nav` 章节导航
**触发**:2–4 分钟视频具有三个或更多明确同级章节。
**用途**:持续告诉观众当前讲到哪个章节。
**规则**:
- 主题标题下方显示短章节名;
- 当前章节用亮色,其他章节降明度;
- 全部章节必须同一字体、字号、卡片和位置;
- 30–60 秒单线视频默认不使用。
### M13 `chapter-card` 章节卡
**触发**:准则、误区1、误区2、误区3、步骤一等同级结构节点。
**规则**:
- 同级章节必须共用一套视觉语法;
- 文案控制在 `2–8` 个字;
- 在章节核心名称说出时进入;
- 显示约 `1.2–2.5s`;
- 花字区隐藏普通字幕;
- 不把章节内的普通重点也画成同样的章节卡。
### M14 `cta` 行动号召
**触发**:直播间、评论区、私信、课程了解、预约等明确行动。
**规则**:
- CTA 信息清楚优先,不使用复杂滤镜;
- 可切近或保持稳定近景;
- 使用一个轻提示音即可;
- 同一 CTA 不同时叠加强 hit、闪烁、多个图标;
- 必须通过广告法与平台合规检查。
## 6. 语义强调模块
### M20 `cumulative-flower` 累积式并列花字
**触发**:口播明确列出 2–4 个并列项,且每项都支撑同一个结论。
**合成示例**:
- 先确定目标;
- 再拆分每天的行动;
- 最后按周复盘。
**时间**:
- 每项在说到核心词时进入;
- 前一项不退出,后续逐项累积;
- 全部在并列结构结束时一起退出。
**视觉**:
- 每项单独一行;
- 同一字号、字重和对齐方式;
- 可使用同色或轻微色阶;
- 总行数不超过 4;
- 花字区隐藏普通字幕;
- 第一项可配一个轻提示音,后续使用更轻提示或不加,避免连续“叮”。
### M21 `claim-flower` 观点型花字
**触发**:一句话能被提炼成 1–2 行完整观点,且是当前段落的 payoff。
**合成示例**:
> 先确定目标
> 再拆成每天的行动
**规则**:
- 第一行先进入,解释推进后第二行可补全;
- 总字数建议不超过 18 个汉字;
- 显示约 `2–5s`;
- 文案可以提炼,但不能改变原意;
- 花字能替代普通字幕时才使用;
- 落在“最高语义相关句”,不能提前覆盖铺垫。
### M22 `keyword-emphasis` 字幕内关键词强调
**触发**:普通句中只有一个短词需要加重,但不足以做花字。
适合:
- 数字与单位;
- 品牌/产品名;
- 一个题眼词;
- 一个否定词或风险词。
不适合:
- 整句变色;
- 连续三页都高亮;
- 花字已经表达同一个重点。
### M23 `semantic-icon` 语义图形
**触发**:语言与图形存在直接、瞬时、无需解释的同义关系。
高置信示例:
- “打问号”→大问号;
- 明确说“钱、收入、价格”且需要视觉提示→金币/货币图形;
- 明确警示→警示符号。
**规则**:
- 图形放人物侧边负空间;
- 通常显示 `0.8–2s`;
- 不遮脸、不遮标题;
- 同一语义图形在同一视频最多重复 1–2 次;
- 只“相关”但不能直接互相解释时不使用;
- 问号、感叹号、警示三角、简化金币等基础图形优先由渲染器用字体、SVG 或矢量路径
程序化生成,**不要求用户额外提供素材**;
- 只有需要特定插画风、品牌 IP、复杂三维金币或现成动画时,才绑定外部素材;
- 外部素材必须已授权或自行制作。
## 7. 证据与情境模块
### M30 `broll-evidence` 证据型 B-roll
**触发**:
- 明确商品、截图、新闻、数据图;
- 第三方人物或地点;
- 口播中的具体物件和案例;
- 画面能比文字更快说明事实。
**形式**:
- 全屏替换;
- 下半部半透明叠加;
- 画中画;
- 连续多张素材内部硬切。
**规则**:
- 进入点必须与具体名词或证据句对齐;
- 单张通常 `1.5–4s`,整组通常 `4–12s`;
- 保留顶部主题;
- 根据画面决定是否保留人物;
- 第三方素材必须显示 `CR:来源`;
- B-roll 结束回到 A-roll 时,可重新显示人物头衔;
- 不使用只有装饰作用、与内容无关的库存素材。
### M31 `story-portal` 故事/回忆入口
**触发**:从当前观点明确跨入某个具体家长、读者、朋友或过去事件。
**处理**:
- 入口短时切近;
- 画面外围柔和暗角,由渲染器生成椭圆/径向透明蒙版,不需要额外图片素材;
- 可配一个轻提示音;
- 进入稳定叙述后退出暗角,恢复基础画面。
**建议参数**:
- 暗角只作用于画面外围约 `15%–25%`;
- 中心人物脸部亮度尽量保持;
- 黑色蒙版最高不透明度约 `20%–35%`;
- 入场/退出各使用约 `0.12–0.25s` 的短淡化;
- 整个入口状态通常持续 `0.8–2.5s`。
**限制**:
- 暗角只标记入口,不覆盖整个第三人称故事;
- 普通泛指“很多家长”不触发;
- 当前证据仍属于条件规则,不是每个案例都自动加。
### M32 `quote-simulation` 引语/角色模拟
**触发候选**:
- 明确引用别人原话;
- 主讲人用明显不同的语气模仿他人;
- 字幕中可明确标出引语边界。
**候选处理**:
- 默认使用程序化的轻微色温、饱和度或对比变化;
- 可程序化绘制引号、`引用内容`/`角色发言`标签或简洁对话框;
- 必要时对原始人声做短时轻量声线区分。
- 标签必须根据抽帧选择人物肩侧负空间;默认 `label_y≈0.55` 只是退路值,不得遮脸、
普通字幕或人物头衔。
**素材要求**:
- 默认滤镜、引号、标签、暗角和轻量变声都**不需要用户额外提供素材**;
- 轻量变声直接处理当前视频中的原始人声,可选择轻微升/降调、音色共振峰调整、
电话感 EQ 或极短空间感;幅度必须小,保持中文可懂度;
- 如果要使用某个真实第三方的声音、做声音克隆或替换成指定人物,则需要合法授权的
声音样本和用户明确确认;这不属于默认角色模拟;
- 如果要使用固定品牌对话框、手绘贴纸或角色头像,可额外提供一次并沉淀为可复用资产,
但不是模块运行的前置条件。
**当前限制**:
- 已有样例不足以确定统一滤镜、变声参数和持续时间;
- 默认只标 `candidate`;
- 没有人工确认时,默认只做视觉区分,不自动变声;
- 首次确定一套可接受的视觉/声音参数后,再把它固化为当前用户的自定义预设;不得写回公开 Skill。
## 8. 音频模块
### A01 `voice-cleanup`
- 有底噪先降噪;
- 保持自然口腔音和环境感,不能处理成水下声;
- 统一响度但避免把每个换气都推到前景;
- 清理爆点、切口和被截字尾;
- 降噪与 BGM 是两件事,不能互相替代。
### A02 `bgm-bed`
启用前必须写清:
- 视频情绪;
- 音乐情绪;
- 为什么同向;
- 音乐文件;
- 起止、淡入淡出和音量。
预设:
- `serious-commentary`:默认关闭;
- `structured-knowledge`:默认关闭或使用极克制、无明显欢快律动的底乐;
- `light-leadgen`:可使用轻快/温暖底乐;
- `story-quote`:可使用温暖、轻悬疑或克制氛围乐,取决于故事。
默认音量:
- 人声 `1.0`;
- BGM 线性音量从 `0.04–0.06` 起;
- 开头淡入 `0.6–1.0s`;
- 结尾淡出 `1.0–1.5s`。
找不到明确适配音乐时,宁可不加。
### A03 `sfx-cue`
**用途类别**:
- `suspense-light`:问题/悬疑入口;
- `ding-light`:编号、数据、结论;
- `whoosh-short`:章节/画面复位;
- `hit-soft`:强否定、强态度;
- `cta-light`:行动提醒;
- `draw`:圈画动画。
**规则**:
- 一个语义事件最多一个主音效;
- 与花字/图形入场同拍,不机械对齐句首;
- 30–60 秒单线视频约 `3–5` 个;
- 2–4 分钟视频按章节分配,每章通常 `1–3` 个;
- 连续两个音效间隔小于约 `0.6s` 时合并或删弱项;
- 具体文件只有高置信波形匹配或人工确认后才能写死。
## 9. 视频类型预设
### P01 `serious-commentary` 严肃观点
适合:职业选择、学习方法、风险提醒和价值观讨论。
默认组合:
- `topic-two-tone` 或克制的 `topic-serif-yellow`;
- 分段人物头衔;
- 普通字幕;
- 两档景别;
- 少量 `claim-flower`、`cumulative-flower`、`semantic-icon`;
- 有证据时使用 B-roll;
- BGM 默认关闭;
- 音效低密度。
预算:主要视觉事件约 `2–6 个/分钟`,不要求凑满。
### P02 `structured-knowledge` 结构化知识
适合:一个准则、三大误区、三条建议、选校步骤。
默认组合:
- 顶部主题;
- `chapter-nav`;
- 同一套 `chapter-card`;
- 章节内用 `claim-flower` 或 `keyword-emphasis`;
- 每章基础景别开场、结论切近;
- BGM 默认关闭或极克制。
预算:每章 `2–4` 个主要事件,章节卡另计。
### P03 `light-leadgen` 轻引流/带货
适合:导直播间、课程体验、产品介绍。
默认组合:
- 快速 `hook-intro`;
- 顶部主题;
- 卖点花字;
- 产品/页面 B-roll;
- 品牌名关键词强调;
- 清楚 CTA;
- 音乐风格匹配时可加低音量 BGM;
- 30–60 秒约 `4–8` 个主要事件。
必须额外检查广告法和承诺用语。
### P04 `story-quote` 故事/引用
适合:用户案例、朋友、家庭成员或第三方经历。
默认组合:
- 顶部主题;
- 开场身份;
- `story-portal` 只标入口;
- 具体人物/物件用 B-roll;
- 直接引语可列 `quote-simulation` 候选;
- 结论回到基础画面并用 `claim-flower`;
- BGM 根据故事情绪裁决。
## 10. 模块选择算法
必须按以下顺序做:
1. 通读最终逐字稿,写一句主题;
2. 列结构树:钩子、章节、例子、结论、CTA;
3. 选一个主预设;不确定时选 `custom`,不要混合多个预设名称;
4. 放入四个基础模块;
5. 标注真正的结构节点;
6. 标注并列项、核心观点、具体证据、故事入口和 CTA;
7. 每个标注只选择一个主模块;
8. 映射最终成片时间;
9. 做区域碰撞检查;
10. 再裁决 BGM 和 SFX;
11. 运行计划校验;
12. 预览后人工删掉显得多余的效果。
每个条件事件要通过四问:
1. 这句的信息功能是什么?
2. 不加效果,观众会不会更难理解或记住?
3. 这个模块能否直接解释这句,而不是只“沾边”?
4. 它是否与已有标题、字幕、人物头衔或另一个花字抢空间?
第 2、3 问答不清楚时不加。
## 11. 计划文件格式
使用 `assets/postproduction_plan.template.json` 创建
`output/postproduction_plan.json`。
核心结构:
```json
{
"version": "1.0",
"profile": "serious-commentary",
"duration": 201.015,
"topic_summary": "如何建立可执行的学习计划",
"modules": {
"foundation": {
"topic": {
"style": "topic-two-tone",
"lines": ["怎样把目标", "变成行动计划"],
"mode": "persistent"
},
"identity": {
"name": "主讲人姓名",
"lines": ["身份标签一", "身份标签二"],
"side": "right",
"spans": [[0.13, 3.83], [14.5, 30.8]]
},
"captions": {
"style": "speaker-default",
"max_chars_soft": 8,
"semantic_paging": true
},
"voice": {
"priority": "highest",
"global_speed": 1.0
}
},
"audio": {
"bgm": {"enabled": false},
"sfx_budget": 8
}
},
"events": [
{
"id": "action-list",
"module": "cumulative-flower",
"trigger_text": "先确定目标",
"end_text": "每周复盘",
"start": 53.9,
"end": 60.6,
"confidence": "default",
"reason": "三项并列后果需要逐层建立",
"text": {
"items": [
{"content": "先确定目标", "start": 53.9},
{"content": "拆成每天的行动", "start": 55.2},
{"content": "每周复盘结果", "start": 57.833}
]
},
"visual": {"shot": "close", "region": "caption-zone"},
"caption_policy": "hide"
}
]
}
```
字段要求:
- `trigger_text`、`end_text`:语义边界;
- `start`、`end`:最终成片时间,尚未映射时可暂时省略;
- `confidence`:`default`、`conditional` 或 `candidate`;
- `reason`:为什么偏偏在这里使用;
- `caption_policy`:花字必须为 `hide`;
- `media.source_credit`:第三方 B-roll 必填;
- `visual.region`:用于碰撞检查;
- `audio.resource_name`:只有确认具体音效时填写,否则写 `category`。
校验:
```bash
<PYTHON> <SKILL_DIR>/scripts/validate_postproduction_plan.py \
output/postproduction_plan.json
```
校验通过后编译:
```bash
<PYTHON> <SKILL_DIR>/scripts/compile_postproduction_plan.py \
output/postproduction_plan.json --out output/
```
编译器生成:
- `brand_plan.json`:顶部主题和人物头衔;
- `effect_plan.json`:章节卡、观点花字、累积花字;
- `emphasis_plan.json`:普通字幕关键词;
- `visual_plan.json`:故事入口暗角、引语/角色模拟滤镜;
- `audio_plan.json`:已绑定具体文件的 BGM/SFX;
- `postproduction_manifest.json`:已编译事件与尚未支持的事件。
`renderer_pending` 中的事件没有被执行,交付前必须补素材/补渲染器或明确移除。
渲染故事入口暗角和引语滤镜:
```bash
<PYTHON> <SKILL_DIR>/scripts/apply_visual_filters.py \
output/preview.mp4 output/visual_plan.json --out output/
```
产出 `preview_视觉滤镜.mp4`。必须先渲染滤镜,再以该文件为输入叠顶部主题、人物头衔、
花字和普通字幕,避免滤镜把文字一起压暗或改色。
## 12. 执行顺序
1. 完成 A-roll 和逐字稿复查;
2. 完成字幕纠错与语义分页;
3. 生成 `postproduction_plan.json` 并校验;
4. 应用画面底层:景别、裁切、暗角、基础调色;
5. 放 B-roll;
6. 放顶部主题、章节导航和人物头衔;
7. 放章节卡、花字和语义图形;
8. 生成普通字幕,并在花字区间让位;
9. 做人声处理;
10. 最后混 BGM 和 SFX;
11. 进行视觉、字幕、听觉三轮 QA;
12. 保留无音乐版和最终版,不覆盖前一版。
不得先烧字幕再加暗角/调色,否则文字也会被压暗。
## 13. QA 与验收
### 13.1 内容 QA
- 所有效果是否绑定完整、通顺的最终台词?
- 花字有没有改变原意?
- 结构卡是否真的属于同级结构?
- B-roll 是否证明当前内容,而不是纯装饰?
### 13.2 视觉 QA
- 顶部主题是否全片可读?
- 人脸和关键手势是否被遮挡?
- 人物头衔是否放在负空间?
- 普通字幕是否有奇怪断句?
- 花字出现时普通字幕是否让位?
- 同一时刻是否存在两个 L4 主重点?
- 字体、颜色、阴影和间距是否保持同一套系统?
- B-roll 是否有来源?
### 13.3 时间 QA
- 景别切换是否落在语义边界?
- 花字是否落在最高相关句,而不是提前?
- 累积花字是否逐项进入、共同退出?
- 语义图形是否与关键词同拍?
- 花字退出后字幕是否从完整页恢复?
### 13.4 音频 QA
- 每个删除接口的字尾是否完整?
- 人声是否始终最清楚?
- BGM 情绪是否与话题同向?
- 音效是否盖住句首、数字或品牌?
- 音效是否过密或连续重复同类声音?
- 是否试图用 BGM 盖住底噪?
### 13.5 交付 QA
- 分辨率、画幅、帧率与任务要求一致;
- 原片未被覆盖;
- 无字幕、字幕包装、音效版按需分别保留;
- `postproduction_plan.json`、字幕审查和剪辑报告一并落盘;
- 所有 `candidate` 效果在交付前得到人工确认或被移除。
## 14. 当前实现边界
现有脚本已经支持:
- 普通字幕与语义分页;
- 字幕关键词着色;
- 顶部静态单色/两色主题;
- 人物头衔多区间复现;
- 章节卡与单项观点花字;
- 累积式多行花字(由总计划编译成多个共享结束时间的花字层);
- 花字期间隐藏普通字幕;
- 故事入口暗角的渐入、稳定和渐出;
- 引语/角色模拟的 `neutral`、`cool`、`warm`、`memory` 四种克制滤镜;
- 引语状态的程序化“引用内容/角色发言”等标签;
- 两档静态推近;
- BGM/SFX 计划混音;
- 参考视频抽帧、OCR 辅助和音效候选匹配。
优先继续补齐:
- 问号、金币、警示等程序化语义图形;
- 章节导航状态更新;
- 经人工确认后,再增加可选的轻量变声预设。
当前明确不作为自动化优先项:
- 标题从大到小的连续入场动画:没有动画也不影响成片,保留静态顶部主题即可;
- B-roll 自动选材与布局:暂时不纳入自动渲染;用户明确提供素材并要求使用时再人工规划。
在渲染器未支持前,计划中写:
- `status:"procedural"`:不需要外部素材,但渲染器尚待实现;
- `status:"manual"`:当前按人工流程处理;
- `status:"requires-asset"`:确实必须绑定外部素材;
- `status:"renderer-pending"`:规则已定但实现尚未完成。
不得把上述状态假装成已经执行。
SHA-256: 85dd70c12966a821aa0610c5c2f0946df710f415b7ef50b1acc00a437bf4d83d