smart-video-editorlisted
Install: claude install-skill Fagan1024/smart-video-editor
# Smart Video Editor
纯剪辑。核心区别在于**先看懂素材再动手**,而不是按文件名顺序机械拼接。
## 三个阶段
### 阶段一:看懂素材
```bash
python3 {baseDir}/scripts/probe.py <素材目录或文件列表>
```
拿到每段的时长、分辨率、朝向、帧率、有无音轨。
然后**对每一段抽帧,逐帧用 `vision_analyze` 看**:
```bash
python3 {baseDir}/scripts/extract_frames.py <video> /tmp/sve-frames --interval 1.5 --max 8
```
帧文件名形如 `clip1__t3.5.jpg`,`t` 后面就是它在原片中的秒数——视觉判断能直接映射回时间轴。
对每帧问这些(一次问清,不要分多次):
> 这一帧里是什么内容(主体、场景、动作)?构图如何?是否存在下列问题:明显模糊/失焦、剧烈抖动、过曝或死黑、镜头遮挡、无内容的空镜、正在转场的中间态?给画面可用性打 1-5 分。
**素材多时用 `session_spawn` 并行分析**,每个子任务负责 1-2 段,让它把结论按 `{时间戳: 内容, 可用性, 问题}` 结构化返回。
### 阶段二:做剪辑决策
拿到全部画面信息后,自己判断这几件事——这是这个 skill 真正的价值所在,不要跳过:
**取舍**:可用性低于 3 分的时间段直接不要。一段 10 秒素材里只有 4 秒有内容,就只取那 4 秒。
**顺序**:按叙事逻辑排,不要按文件名。常用结构:
- 空间叙事:全景开场 → 中景 → 细节特写 → 人物/收尾
- 时间叙事:按事件发生顺序
- 情绪叙事:平静起 → 高潮 → 回落收尾
**节奏**:短视频(15-30 秒)单段 1.5-3 秒;慢节奏 vlog 可以 4-6 秒。同类画面连续出现要缩短,避免观感重复。有 BGM 时让切点尽量落在节拍上。
**调性**:根据画面内容选 `look`,不要默认套一个。
**竖屏处理**:横屏素材进竖屏成片时,主体在中间用 `crop`,主体偏移或不能裁的用 `blur_pad`。
把决策写成 EDL(JSON):
```json
{
"output": "/绝对路径/成片.mp4",
"aspect": "9:16",
"fps": 30,
"look": "film",
"fill_mode": "crop",
"transition": { "type": "dissolve", "duration": 0.4 },
"keep_original_audio": false,
"bgm": {
"path": "/绝对路径/bgm.mp3",
"volume": 0.85,
"start": 0,
"fade_in": 1.0,
"fade_out": 1.5,
"original_volume": 0.25
},
"title": {
"ass": "/绝对路径/title.ass",
"fonts_dir": "~/.cola/assets/fonts"
},
"segments": [
{ "src": "/绝对路径/clip1.mov", "in": 2.4, "out": 5.1 },
{ "src": "