raw-video-processing

raw-video-processing

对原始屏幕录制进行后处理,去除静音片段并调整播放速度。使用基于 FFmpeg 的 Python 脚本自动优化视频节奏。

0Star
0Fork
更新于 2026/7/22
SKILL.md
readonly只读
name
raw-video-processing
description

对原始屏幕录制进行后处理,去除静音片段并调整播放速度。使用基于 FFmpeg 的 Python 脚本自动优化视频节奏。

技能:原始视频处理

对原始屏幕录制进行后处理以改善节奏——去除静音片段,然后加速结果视频。

前置条件:必须安装 FFmpeg 和 uv。


使用场景

用户录制了屏幕录像,希望在发布前进行清理。原始录制中常见问题:

  • 思考或等待加载时的长时间停顿/静音
  • 键盘打字声及其他低电平背景噪音(应视为静音)
  • 整体节奏偏慢,可适当加速

默认工作流程

当用户提供原始视频文件时,默认按顺序运行两个脚本

步骤 1:去除静音片段

uv run --python 3.12 /path/to/skills/raw-video-processing/scripts/remove_silence.py <input.mp4> -t="-20dB" -d 0.5

此脚本检测并切除静音部分(包括键盘声),生成 <input>_nosilence.mp4

始终传递以下参数(针对含键盘噪音的屏幕录制调优):

  • -t="-20dB" — 激进阈值,过滤键盘打字和背景噪音(使用 = 语法避免 argparse 将负值视为标志)
  • -d 0.5 — 也去除短静音(最小 0.5 秒)
  • -p 0.2 — 语音边界保留的缓冲秒数(默认值,通常无需传递)

脚本会打印详细摘要:找到的静音片段数量、总静音时长以及所有保留片段及其时间戳。检查此输出以确认结果合理。

步骤 2:加速视频

uv run --python 3.12 /path/to/skills/raw-video-processing/scripts/speed_video.py <input>_nosilence.mp4

此脚本对去除静音后的视频应用速度倍率,生成 <input>_nosilence_1.2x.mp4

默认参数

  • --speed 1.2 — 1.2 倍播放速度(微调加速,不会显得急促)

脚本选项

remove_silence.py

标志 默认值 描述
-o, --output <input>_nosilence.mp4 自定义输出路径
-t, --threshold -30dB 静音阈值(dB),值越大越激进。屏幕录制始终使用 -20dB——以 -t="-20dB" 形式传递,避免 argparse 处理负值问题
-d, --duration 0.8 要移除的最小静音时长(秒)。屏幕录制使用 0.5
-p, --padding 0.2 非静音片段周围保留的缓冲时长
--dry-run 关闭 仅打印检测到的片段,不导出文件

speed_video.py

标志 默认值 描述
-o, --output <input>_<speed>x.mp4 自定义输出路径
-s, --speed 1.2 播放速度倍率

自定义场景

  • 仅去除静音 — 只运行步骤 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 默认设置重新编码。