SKILL.md
readonly只读
name
video-editing
description
AI辅助视频编辑工作流,用于剪辑、组织和增强真实素材。涵盖从原始拍摄到FFmpeg、Remotion、ElevenLabs、fal.ai,再到Descript或CapCut最终润色的完整流程。当用户想要编辑视频、剪辑素材、制作vlog或构建视频内容时使用。
视频编辑
AI辅助编辑真实素材。不是从提示生成。快速编辑现有视频。
何时激活
- 用户想要编辑、剪辑或组织视频素材
- 将长录制内容转为短视频
- 从原始拍摄构建vlog、教程或演示视频
- 为现有视频添加叠加层、字幕、音乐或配音
- 为不同平台(YouTube、TikTok、Instagram)重新构图
- 用户说“编辑视频”、“剪辑这段素材”、“制作vlog”或“视频工作流”
核心论点
AI视频编辑的价值在于停止要求它创建整个视频,而是用它来压缩、组织和增强真实素材。价值不在于生成,而在于压缩。
工作流
Screen Studio / 原始素材
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript 或 CapCut
每一层都有特定任务。不要跳过层。不要试图让一个工具做所有事。
第1层:采集(Screen Studio / 原始素材)
收集源材料:
- Screen Studio:用于应用演示、编码会话、浏览器工作流的精美屏幕录制
- 原始相机素材:vlog素材、采访、活动录制
- 通过VideoDB的桌面采集:带实时上下文的会话录制(参见
videodb技能)
输出:准备组织的原始文件。
第2层:组织(Claude / Codex)
使用Claude Code或Codex:
- 转录和标注:生成转录稿,识别主题和话题
- 规划结构:决定保留什么、剪掉什么、顺序如何
- 识别无效片段:找到停顿、离题、重复拍摄
- 生成编辑决策列表:剪辑时间戳、保留的片段
- 搭建FFmpeg和Remotion代码:生成命令和合成
示例提示:
“这是4小时录制的转录稿。找出8个最强片段,用于制作24分钟的vlog。给我每个片段的FFmpeg剪辑命令。”
这一层关乎结构,而非最终创意品味。
第3层:确定性剪辑(FFmpeg)
FFmpeg处理枯燥但关键的工作:分割、修剪、拼接和预处理。
按时间戳提取片段
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4
根据编辑决策列表批量剪辑
#!/bin/bash
# cuts.txt: start,end,label
while IFS=, read -r start end label; do
ffmpeg -i raw.mp4 -ss "$start" -to "$end" -c copy "segments/${label}.mp4"
done < cuts.txt
拼接片段
# 创建文件列表
for f in segments/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy assembled.mp4
创建代理文件以加快编辑
ffmpeg -i raw.mp4 -vf "scale=960:-2" -c:v libx264 -preset ultrafast -crf 28 proxy.mp4
提取音频用于转录
ffmpeg -i raw.mp4 -vn -acodec pcm_s16le -ar 16000 audio.wav
标准化音频电平
ffmpeg -i segment.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4
第4层:可编程合成(Remotion)
Remotion将编辑问题转化为可组合的代码。用于传统编辑器难以处理的任务:
何时使用Remotion
- 叠加层:文本、图片、品牌标识、下三分之一
- 数据可视化:图表、统计、动画数字
- 动态图形:转场、解释性动画
- 可组合场景:跨视频可复用的模板
- 产品演示:带注释的截图、UI高亮
基本的Remotion合成
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
{/* 主素材 */}
<Sequence from={0} durationInFrames={300}>
<Video src="/segments/intro.mp4" />
</Sequence>
{/* 标题叠加层 */}
<Sequence from={30} durationInFrames={90}>
<AbsoluteFill style={{
justifyContent: "center",
alignItems: "center",
}}>
<h1 style={{
fontSize: 72,
color: "white",
textShadow: "2px 2px 8px rgba(0,0,0,0.8)",
}}>
AI编辑栈
</h1>
</AbsoluteFill>
</Sequence>
{/* 下一片段 */}
<Sequence from={300} durationInFrames={450}>
<Video src="/segments/demo.mp4" />
</Sequence>
</AbsoluteFill>
);
};
渲染输出
npx remotion render src/index.ts VlogComposition output.mp4
有关详细模式和API参考,请参阅Remotion文档。
第5层:生成资产(ElevenLabs / fal.ai)
只生成你需要的。不要生成整个视频。
使用ElevenLabs配音
import os
import requests
resp = requests.post(
f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "你的旁白文本",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("voiceover.mp3", "wb") as f:
f.write(resp.content)
使用fal.ai生成音乐和音效
使用fal-ai-media技能:
- 背景音乐生成
- 音效(ThinkSound模型用于视频转音频)
- 转场音效
使用fal.ai生成视觉内容
用于插入镜头、缩略图或不存在素材:
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "科技vlog专业缩略图,深色背景,屏幕上有代码",
"image_size": "landscape_16_9"
})
VideoDB生成音频
如果配置了VideoDB:
voiceover = coll.generate_voice(text="旁白文本", voice="alloy")
music = coll.generate_music(prompt="编码vlog的lo-fi背景音乐", duration=120)
sfx = coll.generate_sound_effect(prompt="微弱的嗖声转场")
第6层:最终润色(Descript / CapCut)
最后一层是人工。使用传统编辑器:
- 节奏:调整感觉太快或太慢的剪辑
- 字幕:自动生成,然后手动清理
- 调色:基本校正和氛围
- 最终音频混音:平衡语音、音乐和音效电平
- 导出:特定平台的格式和质量设置
这是品味所在。AI清除重复工作。你做出最终决定。
社交媒体重新构图
不同平台需要不同的宽高比:
| 平台 | 宽高比 | 分辨率 |
|---|---|---|
| YouTube | 16:9 | 1920x1080 |
| TikTok / Reels | 9:16 | 1080x1920 |
| Instagram Feed | 1:1 | 1080x1080 |
| X / Twitter | 16:9 或 1:1 | 1280x720 或 720x720 |
使用FFmpeg重新构图
# 16:9 转 9:16(中心裁剪)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" vertical.mp4
# 16:9 转 1:1(中心裁剪)
ffmpeg -i input.mp4 -vf "crop=ih:ih,scale=1080:1080" square.mp4
使用VideoDB重新构图
from videodb import ReframeMode
# 智能重新构图(AI引导主体跟踪)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)
场景检测和自动剪辑
FFmpeg场景检测
# 检测场景变化(阈值0.3 = 中等灵敏度)
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr -f null - 2>&1 | grep showinfo
静音检测用于自动剪辑
# 查找静音片段(用于剪掉空白)
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=2 -f null - 2>&1 | grep silence
高光提取
使用Claude分析转录稿和场景时间戳:
“给定带时间戳的转录稿和这些场景变化点,找出5个最吸引人的30秒片段用于社交媒体。”
每个工具的最佳用途
| 工具 | 优势 | 劣势 |
|---|---|---|
| Claude / Codex | 组织、规划、代码生成 | 不是创意品味层 |
| FFmpeg | 确定性剪辑、批量处理、格式转换 | 无可视化编辑界面 |
| Remotion | 可编程叠加层、可组合场景、可复用模板 | 非开发人员学习曲线陡峭 |
| Screen Studio | 即时精美屏幕录制 | 仅限屏幕采集 |
| ElevenLabs | 语音、旁白、音乐、音效 | 不是工作流核心 |
| Descript / CapCut | 最终节奏、字幕、润色 | 手动,不可自动化 |
关键原则
- 编辑,而非生成。 此工作流用于剪辑真实素材,而非从提示创建。
- 先结构后风格。 在第2层先确定故事,再处理视觉内容。
- FFmpeg是支柱。 枯燥但关键。长素材由此变得可控。
- Remotion用于可重复性。 如果会多次使用,就做成Remotion组件。
- 选择性生成。 仅对不存在的资产使用AI生成,而非所有内容。
- 品味是最后一层。 AI清除重复工作。你做出最终创意决定。
相关技能
fal-ai-media— AI图像、视频和音频生成videodb— 服务端视频处理、索引和流媒体content-engine— 平台原生内容分发






