
关于
AI 辅助视频编辑工作流,用于剪辑、结构化和增强真实素材。涵盖从原始拍摄到 FFmpeg、Remotion、ElevenLabs、fal.ai 以及在 Descript 或 CapCut 中最终润色的完整管道。
name: video-editing description: AI 辅助视频编辑工作流,用于剪辑、结构化和增强真实素材。涵盖从原始拍摄到 FFmpeg、Remotion、ElevenLabs、fal.ai 以及在 Descript 或 CapCut 中最终润色的完整流程。当用户想要编辑视频、剪辑素材、创建 vlog 或制作视频内容时使用。 origin: ECC
视频编辑
AI 辅助编辑真实素材。不是从提示词生成视频。而是快速编辑现有视频。
何时激活
- 用户想要编辑、剪辑或结构化视频素材
- 将长录像转换为短视频内容
- 从原始拍摄构建 vlog、教程或演示视频
- 为现有视频添加叠加层、字幕、音乐或配音
- 为不同平台(YouTube、TikTok、Instagram)重新构图视频
- 用户说"编辑视频"、"剪辑这段素材"、"做个 vlog"或"视频工作流"
核心理念
当你不再要求 AI 创建整个视频,而是开始用它来压缩、结构化和增强真实素材时,AI 视频编辑才真正有用。价值不在于生成,而在于压缩。
流程管线
Screen Studio / 原始素材
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript 或 CapCut
每一层都有特定的职责。不要跳过层级。不要试图让一个工具做所有事情。
第一层:采集(Screen Studio / 原始素材)
收集源素材:
- Screen Studio:用于应用演示、编程会话、浏览器工作流的精美屏幕录制
- 原始摄像素材:vlog 素材、采访、活动录像
- 通过 VideoDB 桌面采集:带实时上下文的会话录制(参见
videodb技能)
输出:准备好组织的原始文件。
第二层:组织(Claude / Codex)
使用 Claude Code 或 Codex 来:
- 转录和标注:生成转录文本,识别主题和主线
- 规划结构:决定保留什么、剪掉什么、什么顺序合适
- 识别无效片段:找到停顿、跑题、重复拍摄
- 生成剪辑决策列表:剪辑的时间戳、要保留的片段
- 搭建 FFmpeg 和 Remotion 代码:生成命令和组合
示例提示词:
"这是一段4小时录像的转录文本。为24分钟的vlog识别出8个最强片段。
给我每个片段的FFmpeg剪辑命令。"
这一层关注的是结构,而非最终的创意品味。
第三层:确定性剪辑(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
拼接片段
# Create file list
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
第四层:可编程合成(Remotion)
Remotion 将编辑问题转化为可组合的代码。用于传统编辑器难以处理的场景:
何时使用 Remotion
- 叠加层:文字、图片、品牌标识、下方字幕条
- 数据可视化:图表、统计数据、动画数字
- 动态图形:转场、解说动画
- 可组合场景:跨视频的可复用模板
- 产品演示:带注释的截图、UI 高亮
基础 Remotion 组合
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
{/* Main footage */}
<Sequence from={0} durationInFrames={300}>
<Video src="/segments/intro.mp4" />
</Sequence>
{/* Title overlay */}
<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)",
}}>
The AI Editing Stack
</h1>
</AbsoluteFill>
</Sequence>
{/* Next segment */}
<Sequence from={300} durationInFrames={450}>
<Video src="/segments/demo.mp4" />
</Sequence>
</AbsoluteFill>
);
};
渲染输出
npx remotion render src/index.ts VlogComposition output.mp4
参见 Remotion 文档 获取完整 API 参考。
兼容工具
Claude CodeCursor
标签
前端开发
