资源库 · 视频剪辑 · 开源代码
✂️ 口播视频一键粗剪工作流
口误、停顿自动剪掉,一条口播十分钟出片
「我抖音的口播都是这条流程剪出来的」— Scott
注册后下载(8 KB)一分钟注册,免费。已有账号,登录 →
拿到手的是什么
口播视频一键粗剪工作流 v1 — 预览
自动剪掉口播视频里的长停顿/静音段:ffmpeg silencedetect 找静音 → 反推保留段(前后各留 0.12s 缓冲)→ 一条 ffmpeg 命令切段拼接出片。python3 标准库实现,唯一外部依赖是系统 ffmpeg。
包内文件树
scott-koubo-rough-cut-v1/
├── 00-start-here.md 30 秒上手:装 ffmpeg → dry-run 预览 → 一条命令出片
├── README.md 零基础完整教程 + 参数调法 + 常见问题
├── rough_cut.py 工具本体(约 150 行,python3 标准库)
├── AGENTS.md AI 助手工作流:dry-run 先行、按段数自动调参、硬性约束
└── CLAUDE.md 指向 AGENTS.md(Claude Code 自动读取入口)
用法
# 预览会剪哪里(不动文件)
python3 rough_cut.py 我的口播.mp4 --dry-run
# 真剪,生成 我的口播_cut.mp4
python3 rough_cut.py 我的口播.mp4
# 底噪大剪不动?调阈值;切得太硬?加缓冲
python3 rough_cut.py 我的口播.mp4 --silence-db -30 --padding 0.2
可调参数:--silence-db(默认 -35dB)· --min-silence(默认 0.6s)· --padding(默认 0.12s)· -o 输出名 · --dry-run。
实测记录(本包发布前跑通)
用 ffmpeg 自造 7 秒测试片:彩条画面 + 正弦音 3s + 静音 2s + 正弦音 2s:
ffmpeg -f lavfi -i "smptebars=size=640x360:rate=25" \
-f lavfi -i "sine=frequency=440:sample_rate=44100" \
-f lavfi -i "anullsrc=r=44100:cl=mono" \
-f lavfi -i "sine=frequency=660:sample_rate=44100" \
-filter_complex "[1:a]atrim=0:3[a1];[2:a]atrim=0:2[a2];[3:a]atrim=0:2[a3];[a1][a2][a3]concat=n=3:v=0:a=1[a]" \
-map 0:v -map "[a]" -t 7 -c:v libx264 -c:a aac test_input.mp4
python3 rough_cut.py test_input.mp4 --dry-run
python3 rough_cut.py test_input.mp4 -o test_output.mp4
输出(节选):
检测到 1 段静音(阈值 -35.0dB,≥0.6s,缓冲 0.12s):
#1 3.00s → 5.00s (长 2.00s)
[dry-run] 预计:7.0秒 → 5.2秒,剪掉 1 段,未生成文件。
----
正在导出 → test_output.mp4 ...
完成:7.0秒 → 5.2秒,剪掉 1 段。
ffprobe 复核成片实际时长 5.28s(7s 原片剪掉 2s 静音、两端各回填 0.12s 缓冲),与预期一致。报错分支同样验证过:不支持的格式、文件不存在均给出中文提示;未装 ffmpeg 时打印 brew/winget 安装指引。