mcpField
V
video-editing

video-editing

github.com/gitethanwoo创意与媒体381 次安装13 周前更新
代码仓库

关于 video-editing

面向剪辑人员和 Agent 的通用视频编辑技能,涵盖素材检查、剪辑规划、渲染、审阅与成片验证。它根据任务选择 FFmpeg、Remotion 或混合流程。

主要功能

  1. 01检查素材并生成联系表
  2. 02规划素材与输出时间点
  3. 03使用 FFmpeg 或 Remotion 渲染
  4. 04用缩略图表和静帧审阅草稿
  5. 05验证并记录最终成片

适用场景

  1. 01制定基于素材的剪辑计划
  2. 02审阅节奏与转场
  3. 03制作视频图形与合成
  4. 04验证最终视频交付物

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gitethanwoo/video-editing --skill video-editing

安装后在 Claude Code 中输入/video-editing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
assets/edit-project-template/
editorial-plan.json
assets/edit-project-template/filtergraphs/
.gitkeep
assets/edit-project-template/output/
.gitkeep
assets/edit-project-template/review/
.gitkeep
assets/edit-project-template/work/
.gitkeep
assets/remotion-edit-template/
package-lock.json
package.json
project.example.json
project.overlay.example.json
remotion.config.ts
tsconfig.json
assets/remotion-edit-template/public/media/
.gitkeep
assets/remotion-edit-template/src/
animation.ts
Edit.tsx
index.ts
Root.tsx
types.ts
references/
ffmpeg-recipes.md
motion-graphics.md
quality-gates.md
render-plan.md
timeline-and-compositing.md
workflow.md
scripts/
video_workbench.py
tests/
smoke_test.py

详细介绍

视频剪辑

编辑用户提供的任何素材。这是一个通用工作台,不是针对某种视觉风格的预设。将每次剪辑视为一套编辑系统:先观察并记录素材事实,明确时间安排,选择合适的渲染引擎,快速生成审核用产物,并验证最终成片。

将 SKILL_DIR 设为包含此文件的绝对目录。所有随附脚本、参考资料、素材和示例均相对于该目录解析。

如果主要请求是逆向分析一部已完成的参考影片——包括镜头、摄影机表现、声音、字幕、节奏,以及采访/B-roll 的剪辑规则——请先使用相邻的 analyze-video-editing 技能。如果请求是查找、审核或根据口播内容放置过场镜头,请先使用相邻的 find-broll 技能,再将其已批准的清单纳入此剪辑工作流。

如果任务尚无编辑工作区,请初始化一个中性编辑工作区:

python3 "$SKILL_DIR/scripts/video_workbench.py" init /path/to/edit-project

生成的 editorial-plan.json 是供人类和 Agent 规划使用的产物,不是可执行的时间线模式。渲染仍需明确选择:通过 render-ffmpeg 使用任意 FFmpeg 图;使用类型化的 Remotion 合成;或两者兼用。这样可以避免假装小型模式足以表达所有剪辑。

先观察素材

切勿根据文件名推断时长、尺寸、帧率、流顺序、旋转、颜色元数据或音频信息。请检查实际内容:

python3 "$SKILL_DIR/scripts/video_workbench.py" inspect \
  --work-dir /path/to/work \
  /path/to/source-a.mp4 /path/to/source-b.mov

这会生成原始探测数据、校验和、音频扫描结果及联系表。只有在语音内容有助于确定剪辑点时,才添加转录:

python3 "$SKILL_DIR/scripts/video_workbench.py" transcribe \
  /path/to/source.mp4 /path/to/work/transcript

制定剪辑计划前先检查素材。保留用于同步、说话人身份识别、方向判断和重要素材缺陷的证据。

选择渲染路径

使用能够轻松表达此次剪辑的最小引擎:

  • **FFmpeg:**剪辑、拼接、重新构图、变速、音频混合、响度标准化、简单叠加、蒙版、淡入淡出、色彩变换和最终编码。
  • **Remotion 与 React/SVG:**设计图形、标题、字幕、标注、图表、数据驱动场景、浏览器排版、动画布局,以及视频素材与图形的混合制作。
  • **混合方式:**用 Remotion 渲染透明图形叠加层,再通过 FFmpeg 与视频素材合成。这通常是最简洁的路径。

不要强行用一条难以阅读的 FFmpeg 表达式制作复杂图形。简单剪辑也不要创建 React 项目。

在合适时初始化通用动态图形项目:

python3 "$SKILL_DIR/scripts/video_workbench.py" init-motion /path/to/edit-motion
cd /path/to/edit-motion
npm install
npm run dev

此起始项目支持本地视频素材、React 布局、内联 SVG、全画幅视频,以及透明 ProRes 4444 叠加层。更改其渲染约定前,请阅读 references/motion-graphics.md。

设计剪辑

记录以下内容:

  • 成片宽高比、尺寸、帧率、目标时长和平台;
  • 素材时间点的选段与输出时间点的放置位置;
  • 轨道职责:基础画面、插入镜头、图形、字幕、音乐、音效和对白;
  • 每次转场或布局变化的目的;
  • 音频层级和响度目标;
  • 需要审核的代表性帧和转场区间。

区分素材时间与输出时间。使用稳定的片段和节拍标识符。根据单一项目帧率推导帧号,不要在各处零散计算时间。

完整工作循环请阅读 references/workflow.md,可复用的剪辑与合成原则请阅读 references/timeline-and-compositing.md。 如需经过测试的滤镜图构建块及文件结尾处理选项,请使用 references/ffmpeg-recipes.md。

以低成本分阶段制作

  1. 制作内容正确且同步的组装版。
  2. 制作低分辨率的完整初稿。
  3. 生成联系表,用于检查节奏。
  4. 在每个剪辑点、转场、图形出现处和同步提示处生成条带。
  5. 渲染静帧,检查构图、排版、安全区域、遮罩和色彩。
  6. 在制作母版前修复这些问题。
python3 "$SKILL_DIR/scripts/video_workbench.py" sheet draft.mp4 review/contact.jpg
python3 "$SKILL_DIR/scripts/video_workbench.py" strip \
  draft.mp4 review/transition.jpg --center 12.4 --window 1.6
python3 "$SKILL_DIR/scripts/video_workbench.py" stills \
  draft.mp4 review/stills --times 0,12.4,27.8

为了进行独立质量检查,请将需求说明、源素材报告、初稿、联系表和转场条带交给另一个 Agent,而不是提供实现过程说明,并让它只报告具体缺陷。

安全渲染

对于自定义 FFmpeg 图,先将图写入文件,再使用 references/render-plan.md 中的通用计划格式描述渲染:

python3 "$SKILL_DIR/scripts/video_workbench.py" render-ffmpeg render-plan.json

工作台会先渲染出候选文件并进行验证,只有通过验证后才会将其设为正式文件。现有交付文件会以可逆方式归档。

对于 Remotion,渲染前先进行类型检查。使用 useCurrentFrame()、interpolate()、spring() 和 Sequence;不要使用计时器、CSS 关键帧、未设种子的随机数或运行时网络调用。完整制作母版前,先渲染有代表性的静帧和片段。

验证交付内容

即使播放效果看起来正确,也要运行验证:

python3 "$SKILL_DIR/scripts/video_workbench.py" validate final.mp4 \
  --report /path/to/work/validation.json \
  --width 1920 --height 1080 --audio-rate 48000 --lufs -16

验证会检查实际输出内容、完整解码、预期的画面尺寸和时长(如有提供)、音频采样率、响度和校验和。请阅读 references/quality-gates.md。

交付母版时,同时提供源素材报告、剪辑计划或源项目、审阅材料、渲染命令、验证报告和校验和。

通用原则

  • 让含义决定转场;不改变注意力焦点的运动只是装饰。
  • 让观众始终清楚当前内容。激进裁切前,先建立空间背景。
  • 确保文字在交付尺寸下清晰可读,而不只是大尺寸显示器上看起来清楚。
  • 优先使用真实的界面录制,而不是虚构的屏幕截图。
  • 除非要求替换,否则保留原始对白。
  • 在最终转换采样率前,先对对白进行响度标准化。
  • 对不同比例缩放的副本进行交叉淡化,往往会产生重影;应使用有明确动机的剪辑,或为一个连续图层制作动画。
  • 当叠加素材提前结束时,要明确决定是保持画面、消失,还是显露底层画面。
  • 可复用图形应使用支持 Alpha 通道的素材和编解码器;切勿用猜测的背景色伪造透明效果。

保持方案通用

不要将一次成功的剪辑变成默认风格。保留可复用的方法——检查、计时、合成、运动系统、审阅材料和验证——同时根据当前素材和需求选择版式、图形、转场和声音处理。

评论

支持 Markdown