图像与设计
清理原始屏幕录制并优化节奏时,用 FFmpeg…
适用于用户提供原始屏幕录制、需要去除静音停顿和/或轻微加速以改善发布前节奏的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
清理原始屏幕录制并优化节奏时,用 FFm特定
解决思路
- 当用户提供原始视频文件时,默认按顺序运行两个脚本:先去除静音,再加速。
- 第一步运行 remove_silence.py:`uv run --python 3.12 /path/to/skills/raw-video-processing/scripts/remove_silence.py <input.mp4> -t="-20dB" -d 0.5`。
- remove_silence.py 会检测并剪掉静音部分(包括键盘声),生成 `<input>_nosilence.mp4`。
- 针对屏幕录制始终传参 `-t="-20dB"`:更激进的阈值,过滤键盘敲击和背景噪声;用 `=` 语法避免 argparse 把负值当作 flag。
- 针对屏幕录制始终传参 `-d 0.5`:连短静音也移除(最短 0.5 秒)。
- `-p 0.2` 是语音边界周围保留的呼吸空间(默认值,通常无需显式传入)。
- 查看脚本打印的详细摘要:发现的静音片段数量、移除的总静音时长、所有保留片段及时间戳;据此确认结果合理。
- 第二步运行 speed_video.py:`uv run --python 3.12 /path/to/skills/raw-video-processing/scripts/speed_video.py <input>_nosilence.mp4`。
- speed_video.py 对去静音后的视频应用速度倍率,生成 `<input>_nosilence_1.2x.mp4`。
- 默认参数 `--speed 1.2`:1.2 倍播放速度,轻微加速不显仓促。
- remove_silence.py 的 `-o/--output`:默认 `<input>_nosilence.mp4`,可自定义输出路径。
- remove_silence.py 的 `-t/--threshold`:默认 `-30dB`,静音阈值(越高越激进);屏幕录制始终用 `-20dB`,并以 `-t="-20dB"` 传入避免 argparse 问题。
- remove_silence.py 的 `-d/--duration`:默认 `0.8`,要移除的最短静音秒数;屏幕录制用 `0.5`。
- remove_silence.py 的 `-p/--padding`:默认 `0.2`,非静音片段周围保留的填充。
- remove_silence.py 的 `--dry-run`:默认关闭;仅打印检测到的片段,不导出文件。
- speed_video.py 的 `-o/--output`:默认 `<input>_<speed>x.mp4`,可自定义输出路径。
- speed_video.py 的 `-s/--speed`:默认 `1.2`,播放速度倍率。
- 仅去除静音:只运行第一步。
- 仅加速:直接在输入文件上运行第二步。
- 保守清理:若默认剪切掉太多语音,用 `-t="-30dB" -d 0.8`。
- 更激进清理:用 `-t="-15dB" -d 0.3` 和 `--speed 1.5` 实现最大压缩。
- 提交前预览:在 remove_silence.py 上用 `--dry-run` 查看会剪掉什么,不生成文件。
- 自定义输出名:任一脚本用 `-o` 控制输出路径。
- 始终先运行 remove_silence 再运行 speed_video;静音检测基于原始音频,先加速会改变音频特征,使静音检测不准确。
- 长视频(>30 分钟)的静音移除可能耗时几分钟,因为它逐个处理每个片段。
- 两个脚本都保留视频质量:remove_silence 使用流复制(不重新编码),speed_video 使用 FFmpeg 默认参数重新编码。
适用边界 · 注意事项
- 未安装 FFmpeg 和 uv 时不适用。
- 不要颠倒顺序:不要先加速再做静音检测,因为会改变音频特征并降低静音检测准确度。