项目
剧本分镜分析脚本
把人工写的分镜表批量扩写成可拍摄的镜头技术描述:时长、出场角色、环境背景、景别、机位、构图、运镜逐字段解析后重新组装。
这套脚本解决的是一个很具体的手工活问题:分镜表写完之后, 每一镜还要补一段镜头技术描述,写起来重复、漏写又会在实拍时暴露。
脚本从已有的 Markdown 分镜表里逐字段解析镜号、时长、出场角色、环境背景、景别、机位、构图、运镜, 再按镜头序号组装出完整描述。
用镜号轮换生成节拍
核心是一个很小的规则:按 (镜号 - 1) % 4 选一套叙事节拍,
让连续镜头不会全部用同一种起承转合。
$phase = switch (($shotNo - 1) % 4) {
0 { '先建立人物与空间关系…随后把注意力引向本镜头的关键对象' }
1 { '先让前景道具进入画面,再完成一次明确的方向转移…' }
2 { '先承接上一镜头的动作状态,人物完成一次有因果的回应…' }
3 { '先呈现动作的预备状态,再完成主要动作并让受力方向可见…' }
}
四个节拍覆盖「建立」「引导」「承接」「发力」四种镜头功能。 它不是创作,是把已经决定好的镜头语言填成不缺项的句子。
语音转写
另一半是 transcribe_batch.py:批量把素材目录里的视频转成带时间戳的分段 JSON,
用 faster-whisper 的 small 模型(CPU / int8),带 VAD 过滤,已转写的文件跳过。
输出与素材文件名一一对应,方便后续按镜头对齐台词。
现状
- 分镜表字段解析与描述组装
- 四拍轮换节拍
- 批量语音转写(含跳过已完成)
- 脚本里的绝对路径改成命令行参数
- 合并成一个包,附一个脱敏的示例分镜表
- 加格式校验:字段缺失时直接报错,而不是产出半句话