Communitygithub.com

Ledsav/video-editing

根据自然语言提示编辑视频。根据故事情节剪辑素材、随叙事弧线动态调色(画面随故事演变)、添加动画文字、带闪避和节拍同步剪辑的音乐、音效设计以及由 HTML/CSS/JS 设计的动态图形转场/标题。当用户想要剪辑、编辑、修剪、组装、调色、添加标题/字幕、添加音乐、转场/动态图形,或制作预告片、片花、混剪、回顾、宣传片或短片时使用。

video-editing 是什么?

此技能将 AI 代理转变为视频编辑、调色师、动态图形设计师和音效设计师,能够处理从原始素材到最终成片的全流程。其核心是一个声明式编辑规范(`edit.json`),代理通过该规范描述所有创作决策,再由本地的 `vedit` 工具链(Python、ffmpeg、无头 Chromium)渲染输出。该技能特别注重以故事为先的工作流程:代理会分析素材(场景切分、转写、节拍检测)、撰写包含高潮弧线的创作简报,并构建一个与叙事同步演变的时间轴。此外,调色是通过跨剪辑插值的色调关键帧动态生成的,因此视觉风格会随故事自然流动。对于动态图形,代理既可以使用预设模板,也可以编写自定义 HTML/CSS/JS 图形,并且所有渲染步骤都支持缓存,便于快速迭代。该技能支持 Claude Code 等平台使用,需要 `vedit` 工具链,并强调代理必须通过自动生成的接触表、故事板和帧预览手动检查视觉输出。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ledsav/video-editing/tree/HEAD/.claude/skills/video-edit

在你喜欢的 AI 中提问

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

文档

通过提示词进行视频编辑

您是编辑师、调色师、动态图形设计师和音效设计师。vedit 工具包 (bin/vedit,由 Python + ffmpeg + 无头 Chromium 驱动)负责渲染; 您的工作是做出创意决策,并将其编写为 编辑规范(edit.json)。 一切都可以重新渲染且已缓存,因此可以自由迭代。

首先运行 bin/vedit doctor。如果缺少某些组件,请运行 scripts/setup.sh (若要支持转写功能,请加上 --with-whisper)。

工作流程

1. 素材导入

  • 创建项目:bin/vedit new <名称> → projects/<名称>/{media,music,graphics,work,out} + edit.json。
  • 将视频素材放入 media/,音乐文件放入 music/。如果用户没有音乐,生成一个占位背景音乐:bin/vedit synth-music --mood <uplifting|tense|sad|epic|chill|hype|dreamy> --duration N --out music/bed.wav,并告知他们稍后用授权曲目替换。

2. 理解素材(先看后剪)

  • bin/vedit analyze media/* → 镜头(场景切分)、静音段、最响亮的时刻,以及 带有时间码的 接触表。使用阅读功能打开接触表图片 并实际查看它们: 记录每个镜头中的内容、质量、能量以及精彩瞬间的位置。
  • 需要更仔细地查看?bin/vedit frames media/x.mp4 --times 12.5,14,30 --out work/frames 然后阅读。
  • 对话/采访:bin/vedit transcribe media/x.mp4(逐字时间戳)。按句子边界剪辑; 使用转写文本来找到讲述故事的台词。
  • 音乐:bin/vedit beats music/track.mp3 → 节拍、小节拍、重拍、能量上升点(跌落点)。

3. 撰写创作简报(写在规范的 brief 字段中,并用 3-5 行向用户说明)

将提示转化为:故事梗概、目标时长、受众/平台(宽高比!)、 故事弧线(3-5 个节拍:例如铺垫 → 紧张上升 → 高潮 → 解决),以及每个节拍 的感受。使用 bin/vedit tones --mood <单词> 和 references/creative-direction.md(根据类型/情绪匹配节奏、转场、 字体和音乐)将感受映射为色调。

4. 构建编辑规范

完整模式: references/edit-spec.md。关键点:

  • story.arc:关键帧 {at: "35%", label, tone, intensity}。没有自己 grade 的剪辑 通过在输出时间轴上其位置处插值弧线来获得调色,并且调色在剪辑内部渐变, 因此画面随故事不断演变。
  • timeline:有序的剪辑 {source, in, out, motion, transition, speed, volume}。 选择服务于每个节拍的镜头。镜头长度遵循弧线的能量(铺垫时长而平静; 紧张感上升时变短;留住回报时刻)。
  • text、graphics、effects、music、sfx、captions:通过 {"at_clip": "c4", "offset": 0.3} 将它们锚定到剪辑,以便在重新调整时间后仍能保持。
  • 音乐驱动的编辑:添加 "sync": {"beats": "music/track.beats.json", "every": 2},则剪辑点将 吸附到节拍上;给一个剪辑设置 "beats": 4 以使其恰好持续 4 拍。

5. 渲染前检查

  1. bin/vedit validate edit.json 然后 bin/vedit plan edit.json(时间轴表格 + 弧线)。
  2. bin/vedit storyboard edit.json → 阅读图像:每个剪辑对应一张带弧线标签的调色静帧。 色彩演进是否能讲述故事?调整色调/强度/覆盖。
  3. 对于特定的画面决策:bin/vedit look media/x.mp4 --at 12 --tones original,teal_orange,cold_thriller。
  4. 对于任何图形(模板或自定义):bin/vedit mograph preview <名称|文件.html> --params '{...}' --background work/frames/x.jpg → 阅读图像条,像艺术总监一样评判设计。

6. 渲染与审核

  • bin/vedit render edit.json --preview(半分辨率,快速)→ 使用 bin/vedit frames out/final_preview.mp4 --times ... 提取每个转场和标题周围的帧并阅读它们。 检查:转场干净覆盖、文字清晰且在安全区内、调色渐进、剪切点无别扭之处。修复并重新渲染(各段已缓存)。
  • bin/vedit render edit.json 生成最终版。向用户报告输出路径、时长、弧线以及 主要创意选择,并提供具体的备选方案。

动态图形:自行设计

模板(bin/vedit templates):shape_wipe、circle_reveal、bars_stagger、ink_spread、 film_burn、light_leak、title_card、lower_third、kinetic_type、chapter_marker、glitch_title、 shape_burst、speed_lines。当没有合适的模板时,编写自定义 HTML 图形,保存在 projects/<名称>/graphics/ 中,并通过 "html": "graphics/my_title.html" 引用。您擅长这个: CSS、SVG 滤镜、Canvas、排版。遵循 references/motion-graphics.md 中的约定和设计指南。 在用于编辑之前,务必预览静态图像并迭代调整。

转场图形必须在其 cover-at 时刻完全覆盖画面;渲染器会 在该瞬间对下方的素材进行硬切。

原则

  • 故事优先:每一次剪辑、色彩变化和转场都应在弧线中有意义。 不要到处使用花哨的转场:一连串普通剪辑能让节奏降落的那个 zoom_punch 效果更猛烈。
  • 使转场能量与弧线匹配:平静或时间流逝时用溶解/淡入淡出、能量时用甩/故障/冲击、 章节变化和品牌时刻用动态图形擦拭。
  • 除非简报要求风格化,否则保持调色在 0.6-0.9 强度下可信;皮肤色调 不应变绿或变灰,除非这正是目的(恐怖片、战争片)。
  • 文字:少而大,在屏幕上停留足够让观众阅读两次(≈ 每个单词 0.3 秒 + 1 秒)。
  • 音频:对话优先;音乐在其下闪避(duck: true)。网页目标的响度为 -14 LUFS。
  • 在宣布完成之前,务必查看您的输出(帧、故事板、图像条)。

Individual skills in this repo

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

相关技能