--- name: bri-video-srt description: 用户要求口播视频粗剪、删重说、按手剪示例校准气口,或为锁定时间轴的视频生成与校准 SRT 时使用。支持短视频模式和长视频模式(含课程),保护必要屏幕实操;使用本机统一 Whisper。默认交付视频与独立字幕,不烧录字幕。 --- # bri-video-srt 把原始口播整理成可人工精剪的视频;或为已锁定时间轴的成片生成字幕。重复是否该删由全文语义和原音共同判断,切点是否可用由音频与画面验证。 ## 修改本 Skill 前必须执行 **先定位责任模块,一次修复只改该模块。** 每次收到修复或修改请求,编辑前必须读取 [模块架构](references/architecture.md) 和 [反馈修复与评测](references/evaluation.md);当前上下文缺失这些规则时,重新读取再继续。 追查最早出错的产物,向用户说明模块编号、根因证据、拟改文件及章节/函数,再修改。验证可以跨模块,修改不能顺带扩大;共享文件按职责划界,不能放宽检查掩盖问题。多模块根因拆开修复,跨模块接口或架构调整不作为局部修复自动执行。保存基线、验证及回退记录,结束时报告修改模块。已有授权不重复确认;用户明确要求调整架构或文档时按指定范围处理。 ## 先确定当前任务 只读取本次任务对应的文档,执行中再按其中的引用补读所需细节;不要预先加载全部 references。 | 用户输入与目的 | 行动 | 按需读取 | |---|---|---| | 原始视频,要求粗剪或删重说 | 阶段 A | [粗剪流程](references/roughcut.md) | | 手剪示例,要求测量气口或学习节奏 | 测量参考,更新对应场景配置;示例本身不再剪 | [节奏标定](references/pacing.md) | | 明确已精剪并锁定时间轴,要求字幕 | 阶段 B | [最终字幕流程](references/final-subtitles.md) | | 已有 SRT,要求校准 | 校准文字;有同轴音频才重锚定 | [校准规则](references/calibration.md) | | 对上次结果反馈漏剪、节奏不对,要求改技能 | 先定位责任模块,只在该模块内修复,再验证 | [模块架构](references/architecture.md) + [反馈修复与评测](references/evaluation.md) | 同一任务可涉及参考标定和技能更新。不要把“给参考视频”自动当成“再导出一版视频”。 ## 先选使用场景,再选参数 - 用户说“短视频模式粗剪”“短视频粗剪” → `short_video`:普通气口目标约 **0.308 秒**,沿用用户手剪参考的中位数。 - 用户说“长视频模式粗剪”“这是长视频”或“课程粗剪” → `long_video`:普通气口目标 **0.7 秒**。 - 两种模式都只压缩超过目标的普通气口,原本更短的不补长,不改变语速;默认不额外加长强调停顿。 - 实操画面是附加属性,不是另一套语速:短视频中也可能有演示。只保护能指出状态变化的最小操作窗口。 - 本次明确指定的模式优先;未指定时沿用当前任务已确认的模式。只有用途无法从上下文判断且会改变剪辑结果时,才询问一次。不能仅凭视频时长判定。 数值的唯一来源是 [节奏配置](references/pacing-profiles.json)。`autocut.py --pacing-profile` 必须显式传入 `short_video` 或 `long_video`;正文近似值仅用于阅读。CLI 默认短视频;旧参数 `course` 兼容映射到 `long_video`,也采用 0.7 秒。 ## 不能失守的约束 1. 转写只用 `/opt/homebrew/bin/whisper-cli` 与 `${WHISPER_MODEL:-$HOME/Models/whisper/ggml-large-v3-turbo.bin}`;先抽 16 kHz 单声道 PCM16 WAV,转写带 `-mc 0`。模型缺失或损坏就告知用户,不另下模型。 2. 音频、转写、切点统一到源容器时间。非零音轨起点先补静音;VFR 导出先按 PTS 规范到源标称帧率。不要按源平均帧率猜实际时间。 3. 先创建独立子 Agent,只通读完整文字稿并按语义提取保留原文,覆盖整段重录与单句纠错;按 [全文审稿](references/transcript-reader.md) 输出有来源的文字选择。主 Agent 再核验原音、形成实际删除清单并确定边界。Whisper 会漏词、合并复读,字幕时间戳也不是逐词切点。 4. “已选候选 N/N 通过”只证明这些切点通过,不证明全文无重复。全稿覆盖、疑点处置和切点验证分别记录。不要把未发现说成不存在。 5. 重说包括句内重启、卡壳后改说、插入废话后重来及非相邻近义重复;不设必须停顿 0.8 秒的发现门槛。修辞强调、并列例子、必要回顾不得因字面相似误删。 6. 重复范围在补白后再次扣除;同一时间边界成对裁剪音画后 concat。语音低于音量阈值不代表可以删除。 7. 先验证最终 cutlist 的整片音频预览,才导出原分辨率视频。通过后通常只需一次完整导出;返修按用户现有授权处理,不重复索要已给出的许可。 8. 保留源分辨率、像素格式与色彩属性。完整解码检查通过、音视频流首尾差在容差内,也不能单独证明逐段口型或语义完全正确。 9. 字幕与导出视频重新转写同轴;默认独立 SRT,不烧录。用户给手剪示例只要求测量时,不额外制作最终字幕。 ## 粗剪的完成证据 - 全稿语义复核有逐段覆盖,所有发现的疑点有处置;确认删除项与切点候选对应。 - 重说左右完整句、应保留与应消失的短语计数、整片残留复核通过。 - 最终实际静音满足所选目标;例外都有明确的音频或画面证据。操作窗口不能豁免周围整段空白。 - 审核 SRT 通过术语、长度、边界、重锚定和排版检查。 - 完整解码、媒体属性、时长、流首尾同步检查通过,联系表已看过。 ## 文件与交付 粗剪正式交付只放在 `<视频目录>/review//`: - `.rough-cut.mp4` - `.rough-cut.srt` - `.rough-cut.cutlist.json` 最终字幕阶段只在媒体旁交付一份 `.srt`。原稿、WAV、短预览、草稿、截图放会话临时目录。不覆盖用户可能改过的字幕;不删除用户已有文件。 参考分析和技能评测的报告属于各自任务,放本地评测目录;不要塞入粗剪交付目录,也不要公开包含用户素材或绝对路径的评测文件。 报告结果、删减类别、实测节奏和验证范围。计时记录抽轨、分析、预检、每次重试、导出、字幕和验收,区分命令耗时与判断调度差额。发生异常时读取 [异常处理](references/exception-playbook.md),优先修小范围,避免无必要的整片重渲染。