关于 ra-local-talking-head-cut
面向本地口播视频精剪的可复现工作流 Skill,适用于需要审核字幕、语义删剪和成片质检的制作任务。它在用户批准字幕前停止,不生成剪辑决策表或渲染成片。
主要功能
- 01生成带词级时间戳的转写
- 02校对术语并审核预剪字幕
- 03获批后生成剪辑决策表
- 04按语义删剪并渲染硬切
- 05检查成片并生成最终字幕
适用场景
- 01审阅口播转写与预剪字幕
- 02删除重复开场和失败录制片段
- 03制作保留原尺寸和帧率的粗剪
- 04为最终口播视频生成并检查字幕
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pluviobyte/ rnskill --skill ra-local-talking-head-cut安装后在 Claude Code 中输入/ra-local-talking-head-cut确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/artifact-contract.mddefault-glossary.jsonscripts/analyze_visual_cuts.pybuild_edl.pyburn_captions.pygenerate_final_subtitles.pyprepare_transcript.pyqc.pyrender_cut.py详细介绍
本地口播精剪
交付可复现的本地工作流,而非剪辑产品。保持上游技能不变,并将每项任务都写入源项目的工程目录。
必需工作流
- 探查源文件。除非用户明确要求转换交付格式,否则保留宽度、高度和帧率。
- 使用已安装的
video-use/helpers/transcribe.py,通过volc.seedasr.auc进行转录并生成词级时间戳。复用其缓存的规范化 JSON。 - 使用
references/default-glossary.json运行scripts/prepare_transcript.py。该脚本必须创建review.md、precut-review.srt、corrected-script.md、uncertain-terms.md和subtitle-approval.json。 - 向用户提供源视频、
precut-review.srt和易读的审阅稿。只更正有充分依据的术语。切勿猜测不确定的模型或产品名称。到此为止,并等待用户明确批准。 批准尚未完成时,不要构建 EDL 或渲染剪辑。 - 将已确认的映射添加到任务本地的词汇表副本中,以解决不确定术语,然后重新运行准备步骤,以便同时重新生成脚本和剪前 SRT。准备步骤总会重置批准状态。用户确认重新生成的 SRT 后,将
subtitle-approval.json设为approved: true,记录确认时间,并确保unresolved_terms为空。重新生成后绝不保留之前的批准状态。 - 对于语义性删除,可选写入
decisions.json。在后续完整版本之前,删除重复开头和失败的录制片段;保留独有含义。仅在产物内部使用规范化词索引,切勿在面向用户的报告中使用。 - 使用批准文件运行
scripts/build_edl.py。除非字幕已获批准且所有不确定项均已解决,否则脚本必须拒绝继续。默认节奏保留最长 550 ms 的停顿,将更长停顿压缩至 380-450 ms,仅删除没有歧义的“呃/额”,并在素材头尾留出余量。不要将其替换为删除所有超过 200 ms 停顿的做法。 - 不添加转场运行
scripts/render_cut.py,创建硬切预览。它会保留源文件的尺寸和帧率,在每个切点应用 15 ms 音频淡化,进行轻度对白清理,并执行两遍响度归一化至 -16 LUFS / -1.5 dBTP。更强的降噪或噪声门仅作为候选方案,而非默认设置:如果相同的 ASR 对齐测试得分下降超过 0.01,或低于 0.90,则拒绝该候选方案。 - 对硬切预览运行
scripts/analyze_visual_cuts.py。检查其联系表,并且只使用它推荐的 80-120 ms 转场,每条视频最多使用 3 个。仅当有效的语义切点也存在较大的视觉跳变时,才使用--transitions重新渲染。不要统一添加转场。 - 对选定的干净最终 MP4 运行
scripts/qc.py;如果使用了转场,则传入相同的转场 JSON。要求尺寸和帧率匹配、音视频有效、时长符合预期且响度通过门限检查。检查通用联系表和转场联系表。 - 针对确切的最终 MP4 和已批准的
corrected-script.md运行scripts/generate_final_subtitles.py。该脚本将时间安排和对齐工作委托给ra-audio-to-subtitles,并且仅当caption-qc.json状态为 PASS 时才允许交付。ASR 是时间来源;已批准的脚本文本是显示文本来源。时间线编辑后,切勿复用precut-review.srt。 - 如果交付物需要显示字幕,则使用最终的
captions.json和状态为 PASS 的caption-qc.json运行skill-captions。除非合同指定其他样式,否则使用anchor-dark。预览一个有代表性的画面,烧录字幕,并要求caption-render-qc.json检查通过。保留干净的粗剪版本和通用 SRT。
命令
SKILL_DIR="<this skill directory>"
JOB="<engineering job directory>"
WORDS="$JOB/transcripts/<source-name>.json"
python3 "$SKILL_DIR/scripts/prepare_transcript.py" \
"$WORDS" --out-dir "$JOB/transcript-review" \
--glossary "$SKILL_DIR/references/default-glossary.json"
python3 "$SKILL_DIR/scripts/build_edl.py" \
<source.mp4> "$WORDS" --out "$JOB/edl.json" \
--approval "$JOB/transcript-review/subtitle-approval.json" \
--decisions "$JOB/decisions.json"
python3 "$SKILL_DIR/scripts/render_cut.py" \
"$JOB/edl.json" --out "$JOB/local-hard-cut-preview.mp4"
CODEX_PY="$HOME/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin/python3"
"$CODEX_PY" "$SKILL_DIR/scripts/analyze_visual_cuts.py" \
"$JOB/local-hard-cut-preview.mp4" --edl "$JOB/edl.json" \
--out-dir "$JOB/visual-cut-qc"
python3 "$SKILL_DIR/scripts/render_cut.py" \
"$JOB/edl.json" --out "$JOB/local-benchmark.mp4" \
--transitions "$JOB/visual-cut-qc/visual-cut-qc.json"
python3 "$SKILL_DIR/scripts/qc.py" \
<source.mp4> "$JOB/local-benchmark.mp4" \
--edl "$JOB/edl.json" \
--transitions "$JOB/visual-cut-qc/visual-cut-qc.json" \
--out-dir "$JOB/qc"
python3 "$SKILL_DIR/scripts/generate_final_subtitles.py" \
"$JOB/local-benchmark.mp4" \
--script "$JOB/transcript-review/corrected-script.md" \
--approval "$JOB/transcript-review/subtitle-approval.json" \
--out-dir "$JOB/captions"
"$CODEX_PY" ".claude/skills/skill-captions/scripts/render_captions.py" \
"$JOB/local-benchmark.mp4" "$JOB/captions/captions.json" \
--qc "$JOB/captions/caption-qc.json" --style anchor-dark \
--out "$JOB/local-benchmark-captioned.mp4" \
--preview "$JOB/qc/caption-preview.png" --preview-at 15
如果不存在语义重复或失败的录制片段,则省略 --decisions。
决策门槛
- 宁可漏掉语气词,也不要丢失含义。
- 将转录校正和播放内容删除视为两项独立操作。
- 字幕审批未通过或仍有未解决术语时,不要创建 EDL。
- 仅将
precut-review.srt视为源时间线审核材料。 caption-qc.json缺失或状态不是 PASS 时,不要烧录字幕。- 即使音频听起来表面上更安静,如果同一输入的 ASR 覆盖率下降超过 1 个百分点,也不要接受音频清理结果。
- 不要为每个剪辑点都添加转场;只有语义边界有效且视觉不连续性经过测量时,才需要转场。
- 不要将粗剪字幕时间线称为可用于生产的版本。
cut-qc.json报告fail时,不要交付。- 将中间文件保存在
01-内容生产/视频工作台/制作中/<日期-主题>/;仅将用户批准的最终版本归档到视频工作台/已制作/月上旬或月下旬/日期-主题/。
集成其他渲染器或修改产物架构时,请阅读 references/artifact-contract.md。
评论
支持 Markdown