Communitygithub.com

johnnyfekete/video-tighten

在DaVinci Resolve Studio中收紧说话人头剪辑。测量每个片段中的语音,设置自然的剪辑边缘(第一个词前的空白和最后一个词后的空白),挽救被剪掉的词尾,缩短片段内长停顿并按序调整B-roll素材。通过resolve-bridge生成新的时间线版本。

video-tighten 是什么?

该技能是一个DaVinci Resolve Studio插件,用于自动化说话人剪辑的收紧过程。它通过能量检测算法识别语音,在每段剪辑的开头和结尾添加自然的空气间隙(默认为0.22秒和0.38秒),同时挽救可能被剪掉的词尾(最多可延伸0.5秒)。对于较长的内部停顿(超过0.75秒),技能会将其缩短至0.3秒,并支持跳过特定片段(如表演性沉默)以及忽略非对话音频轨道。支持干运行模式,生成详细报告和标记,用户可审核后再应用更改。最终会创建一个新的时间线版本,并生成编辑检查清单,标记所有未解决的问题。适用于MacOS和Python环境,需要结合resolve-bridge和ffmpeg使用。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/johnnyfekete/resolve-video-skills/tree/HEAD/skills/video-tighten

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

video-tighten 是做什么的?

需要在此技能旁边安装resolve-bridge技能(它会在../resolve-bridge查找,或设置RVS_BRIDGE),以及ffmpeg。

工作流程

  1. 我们在哪里。 python3 <resolve-bridge>/scripts/rvs.py --workdir <文件夹> status。如果还没有状态,则采纳用户想要收紧的时间线(参见resolve-bridge)。
  2. 干运行。 不在Resolve中进行任何更改:
    python3 scripts/tighten.py --workdir <文件夹>
    
    写入<文件夹>/.edit/tighten/REPORT.md、report.json和plan.json。
  3. 与用户一起阅读报告。 显示运行时变化、缩短的停顿数量以及每个标记。标记表示脚本无法修复的剪辑(一个词在入点之前开始,且其前有其他语音),因此需要有人通过耳朵检查,或选择不同的镜头。
  4. 保护表演性停顿。 表演性沉默(一个眼神、笑点前的停顿、镜头前的打字)不能被剪切。询问用户,然后使用--skip <剪辑名称或时间线起始帧> ...重新运行。
  5. 应用。
    python3 scripts/tighten.py --workdir <文件夹> --skip ... --apply
    
    创建<基名>_vNN_tighten,存档上一个版本,保存项目。每个标记变成EDIT_CHECKLIST.md中的一个问题,由剪辑名称和新时间线中的时间码定位。告诉用户新的时间线名称和问题ID。

功能说明

默认值选项
第一个词前的空白0.22 秒--pre
最后一个词后的空白0.38 秒--post
边缘可向同一镜头的沉默中延伸(挽救被剪掉的词尾)最多 0.5 秒--max-extend
绝不超过此距离接近其他声音(呼吸、咕哝、下一个镜头)0.08 秒--guard
片段内停顿长于……0.75 秒--pause-max
……缩短至0.3 秒--pause-keep
绝不创建短于……的片段0.5 秒--min-piece
仅修复边缘,保留所有停顿关闭--no-pauses
非对话音频轨道(音乐)无--ignore-audio-tracks 3 4
  • 语音检测基于能量(resolve-bridge/scripts/rvs_audio.py):阈值来自整个源文件,通过强阈值找到单词,其边缘通过软结尾和附带的呼吸声扩展。适用于近距离麦克风录音。在嘈杂环境中,请更仔细检查标记。
  • 每个缩短的停顿都会变成跳切(剪辑被分割)。之后运行video-framing以用推拉镜头隐藏它们,或用B-roll覆盖。
  • 波纹编辑: 后续剪辑上移。仅视频项目(B-roll、叠加层)会重新映射到新时码上,并在其片段变短时缩短。最终短于0.5秒的B-roll将被丢弃并列出。
  • 模式: 这是一个结构性步骤,因此使用resolve-bridge的构建。当前时间线上的标题和生成器不会被带入(桥接会发出警告)。在添加图形之前运行tighten。

尚未处理

  • 重叠对话(已在时间线上的J/L剪辑):这些剪辑保持原样并标记。
  • 填充词(“嗯”、“你知道”)需要转录本;计划在后续技能中处理转录。

相关技能