video-clipperlisted
Install: claude install-skill jiabai/awesome-skills
# Video Clipper — 长视频切片
## 依赖
- **ffmpeg / ffprobe**: 视频切片、静音检测、片段拼接
- **bash + awk**: 运行 `scripts/clip.sh` 并计算浮点时间段(Linux/macOS/Git Bash 均可)
- **转写 JSON**: 推荐使用 `video-to-text` 输出的 `transcript.json` 定位片段边界
- **脚本**: 本 skill 只依赖仓库内置的 `scripts/clip.sh`
## 能力边界
`scripts/clip.sh` 当前支持:
- 单条切片:按 `--start` / `--end` / `--name` 输出一个 mp4
- 批量切片:读取 `clips.txt`,每行一条 `start|end|name`
- 删除较长静音停顿:用 `silencedetect` 找出停顿,再拼接非静音片段
- 保持音画同步:每段从原始素材或粗切片中独立裁剪,再用 concat 拼接
本 skill 不承诺额外后处理;如果用户需要更精细的剪辑质量,请先产出这些基础切片,再交给人工剪辑或其他专门工具处理。
## 参考资料
定位片段边界前,先读取 `references/clipping-guide.md`。它解释了如何判断观点完整性、如何向前后扩展确认,以及为什么用分段裁剪后拼接来保持音画同步。
## 工作流程
```
Phase 1: 素材准备
Phase 2: 切片点定位(观点边界)
Phase 3: 生成 clips.txt
Phase 4: 运行 scripts/clip.sh
Phase 5: 最终检查
```
---
### Phase 1: 素材准备
1. 确认输入视频存在,获取总时长:
```bash
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 /path/to/video.mp4
```
2. 如果文件名含 CJK 字符,建议建一个英文路径 symlink,方便后台命令和 shell 脚本稳定运行:
```bash
ln -sf "/path/to/直播回放.mp4" /tmp/livestream-input.mp4
```
3. 确认 `transcript.json` 存在。优先使用 `segments` 定位句子边界;需要更细粒度时参考 `word_segments`。
---
### Phase 2: 切片点定位
切片质量主要取决于边界是否准确。不要凭直觉猜时间戳,先用转写文字校准。
#### 2.1 候选片段来源
- 优先用 `insight-extractor` 输出中的金句、争议点、行动项
- 或使用用户指定的话题名,在 `transcript.json` 中搜索相关文本
- 每条短视频只保留一个清晰主题
#### 2.2 用 `transcript.json` 校准边界
```python
import json
START = 600
END = 780
with open("transcript.json", encoding="utf-8") as f:
data = json.load(f)
for seg in data["segments"]:
if START