Communitygithub.com

zroeschen/视频制作工厂

视频编辑流水线的第一个智能体。从人物演讲录音中移除静音和死寂段落。当需要根据单词级转录稿剪切静音、修剪停顿、移除死寂/间隙或收紧原始视频节奏时使用。生成编辑决策列表(EDL)、为下游智能体重新调整时间的转录稿,并可通过 ffmpeg 输出剪切后的视频。不处理失误、重复或假开头——那是剪切错误智能体的工作。

视频制作工厂 是什么?

这个智能体,名为 `zroeschen/Video-Production-Factory`,是自动化视频编辑流水线的第一个阶段。其核心功能是接收原始录制的头部演讲视频和其单词级转录文本,并移除所有类型的静音:包括第一个词之前的空白、最后一个词之后的空白,以及超过阈值的词间停顿。它不会剪掉说话者的口误、重复或假开头,这些由流水线中的第二个智能体 `cut-mistakes` 处理。该智能体是确定性的,完全基于转录运行,因此其输出(重新调整时间的转录稿 `*.silence-transcript.json`)可以干净地传递给后续智能体。它设计用于 Claude Code、Cursor 等支持多步骤工作流的 AI 智能体平台。当用户提出如“剪切静音”、“修剪停顿”、“移除死寂”或“收紧节奏”等要求时,该智能体被触发。它生成包含保留/删除范围的 EDL、一个重新调整时间的转录稿、一份人类可读的决策摘要,以及一个可以传递给 ffmpeg 实现最终剪切视频的滤镜图。运行时,它通过 `--gap`、`--head-pad` 和 `--tail-pad` 等参数提供精细控制,允许用户调整剪切激进程度以保留自然的呼吸感。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/zroeschen/Video-Production-Factory/tree/HEAD/.agents/skills/cut-silences

在你喜欢的 AI 中提问

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

文档

剪切静音(流水线智能体 1)

自动化编辑的第一步。获取原始录音 + 其单词级转录稿,并移除仅限静音:第一个词前和最后一个词后的死寂段落,以及超过阈值的词间停顿(修剪至自然的呼吸长度,绝不会硬切为零间隙)。它保留说话者的词语原样——假开头、重录和口吃是 cut-mistakes 智能体(智能体 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。

传递给下一个智能体

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

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

zroeschen/Video-Production-Factory

Agent 2 of the video editing pipeline. Finds and removes spoken mistakes — stutters, repeated words, false starts, and retakes (re-recorded lines) — from a talking-head recording. Use after cut-silences, when asked to cut mistakes, remove stutters / repeats / filler restarts, clean up flubs, or keep the best take. Works review-gated: it proposes every cut with context and a reason for approval, then renders only the approved cuts via ffmpeg. Requires a word-level transcript.

zroeschen/Video-Production-Factory

Edit a raw talking-head video through transcription, silence trimming, mistake review, visual storytelling, motion graphics, and verified HyperFrames rendering. Use for a complete edit; route a single requested operation directly to its specialist skill.

zroeschen/Video-Production-Factory

GSAP animation reference for HyperFrames. Covers gsap.to(), from(), fromTo(), easing, stagger, defaults, timelines (gsap.timeline(), position parameter, labels, nesting, playback), and performance (transforms, will-change, quickTo). Use when writing GSAP animations in HyperFrames compositions.

zroeschen/Video-Production-Factory

HyperFrames CLI tool — hyperframes init, lint, preview, render, transcribe, tts, doctor, browser, info, upgrade, compositions, docs, benchmark. Use when scaffolding a project, linting or validating compositions, previewing in the studio, rendering to video, transcribing audio, generating TTS, or troubleshooting the HyperFrames environment.

相关技能