Communitygithub.com

F0rger123/claude-视频编辑-上帝模式

视频编辑管线中的第一个智能体。从人像录制中移除静音和死区。当用户要求剪切静音、修剪停顿、移除死区/间隙,或收紧原始视频节奏时,基于单词级时间戳转录生成编辑决策表(EDL)、给下游智能体的重定时转录,并可选通过ffmpeg输出剪辑后的视频。不处理口误、重复或假开始——那是剪切错误智能体的任务。

claude-视频编辑-上帝模式 是什么?

Cut Silences(剪切静音)是自动化视频编辑管线中的第一个智能体(管线智能体 1)。它接收原始录制视频及其单词级时间戳转录,并精确移除纯静音部分:第一个单词前的静音、最后一个单词后的静音,以及超过阈值(默认0.55秒)的单词间停顿——这些停顿会被修剪至自然的呼吸长度(如0.14-0.24秒),而非硬切割为零间隙。该智能体是确定性的且完全依赖转录驱动,因此它的输出(`*.silence-transcript.json`)可以干净地传递给下游的剪切错误智能体(智能体 2)和节拍同步验证器。它支持在多个平台(如Cursor IDE、VSCode、终端)作为脚本运行,并提供了三种使用模式:仅规划(生成EDL和重定时转录)、附带视频(生成ffmpeg命令但不渲染)、以及通过`--apply`标志实际渲染剪辑后的视频。输出文件包括EDL、重定时转录、人类可读的决策摘要、ffmpeg滤镜图,以及可选的剪辑后视频。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/F0rger123/claude-video-editing-god-mode/tree/HEAD/.agents/skills/cut-silences

在你喜欢的 AI 中提问

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

文档

剪切静音(管线智能体 1)

自动化编辑的第一步。接收原始录制视频 + 其单词级时间戳转录,并移除仅静音部分:第一个单词前和最后一个单词后的死区,以及超过阈值的单词间停顿(修剪至自然的呼吸长度,绝不硬切割为零间隙)。说话者的单词内容保持不变——假开始、重录和口吃是剪切错误智能体(智能体 2)的任务。

该智能体是确定性的且由转录驱动,因此其输出(*.silence-transcript.json)可以干净地传递给后续智能体和节拍同步验证器。

使用时机

  • “剪切静音”、“修剪停顿”、“移除死区”、“收紧节奏”
  • 作为主编辑工作流的第一阶段,在转录之后立即执行。

先决条件

一个单词级时间戳转录 JSON。可以是 ElevenLabs Scribe 格式 ({ words: [{ text, start, end, type }], audio_duration_secs }) 或通用格式 { words: [{ text, start, end }] }。使用工作区转录工具生成:

node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4    # -> path/to/raw.json

使用方法

# 1) 仅规划 — 计算剪切,写入 EDL + 重定时转录(不接触视频)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --out-dir video-projects/<slug>/assets

# 2) 附带视频 — 也写入 ffmpeg 命令(仍不渲染)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets

# 3) 渲染剪辑后的视频(本地 ffmpeg,重新编码,保持音视频同步)
#    添加 --apply 来实际运行 ffmpeg
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --apply \
  --output video-projects/<slug>/assets/edited-silenced.mp4

选项

标志默认值含义
--video <path>—源视频;启用 ffmpeg 命令/渲染
--out-dir <dir>转录文件所在目录输出文件的写入位置
--output <path><视频文件名>.silenced.mp4剪辑后视频路径
--gap <s>0.55被视为可修剪静音的最小停顿
--head-pad <s>0.22第一个单词前保留的静音
--tail-pad <s>0.34最后一个单词后保留的静音
--apply关闭实际运行 ffmpeg 渲染剪辑

决策方式(静音规则)

  • 低于 --gap(0.55秒)的停顿保持不变——自然的语音节奏。
  • 对于被修剪的停顿,保留自然的呼吸长度,并根据上下文缩放:长停顿(≥2秒)保留 0.24 秒,句子结束符(. ! ?)后保留 0.20 秒,其他情况保留 0.14 秒。保留的呼吸略微偏向上一短语的末尾。
  • 首/尾死区被修剪至 --head-pad / --tail-pad。
  • 删除范围被合并;保留范围是其补集。通过 ffmpeg 的 trim/atrim + concat 滤镜图渲染剪辑(写入 *.silence-filter.txt 脚本并通过 -/filter_complex 传递),从而保持视频和音频同步。

输出(写入 --out-dir)

文件用途
<文件名>.silence-edl.json保留/删除范围、时长、参数——编辑决策表
<文件名>.silence-transcript.json在编辑后时间线上重新定时的单词(供智能体 2 和节拍使用)
<文件名>.silence-decisions.md人类可读摘要 + 修剪的最大停顿
<文件名>.silence-filter.txtffmpeg 滤镜图(仅当使用 --video 时)
<视频文件名>.silenced.mp4剪辑后的视频(仅当使用 --apply 时)

打印到标准输出的 JSON 摘要包括 removed、removedPct、范围计数和输出路径——对主工作流进行日志记录和链式调用非常有用。

调优说明

  • 人像 YouTube 默认值(--gap 0.55)会从典型的原始录制中移除约 15-20% 的纯静音。降低 --gap 可获得更紧凑、更快的剪辑;提高 --gap 则可保留更多自然的呼吸空间。
  • 如果觉得剪辑在句子边界过于激进,可以提高句末呼吸长度,或提高 --gap。

传递给下一个智能体

将 <文件名>.silence-transcript.json(以及已渲染的 silenced.mp4(如果有))传递给剪切错误智能体。由于时间戳已经位于编辑后的时间线上,下游的节拍定时和 scripts/validate-beat-sync.mjs 无需进一步调整即可正常工作。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能