npx skills add ...
npx skills add zc277584121/marketing-skills --skill raw-video-processing
Post-process raw screen recordings by removing silent segments and applying speed adjustments. Uses FFmpeg-based Python scripts to optimize video pacing automatically.
npx skills add zc277584121/marketing-skills --skill raw-video-processing
Post-process raw screen recordings to improve pacing — remove silent segments, then speed up the result.
Prerequisite: FFmpeg and uv must be installed.
The user has recorded a screencast and wants to clean it up before publishing. Typical issues in raw recordings:
When the user provides a raw video file, run both scripts in sequence by default:
This detects and cuts out silent portions (including keyboard sounds), producing <input>_nosilence.mp4.
Always pass these parameters (tuned for screen recordings with keyboard noise):
-t="-20dB" — aggressive threshold that filters out keyboard typing and background noise (use = syntax to avoid argparse treating negative values as flags)-d 0.5 — remove short silences too (0.5s minimum)-p 0.2 — seconds of breathing room kept around speech boundaries (default, usually no need to pass)The script prints a detailed summary: number of silent segments found, total silence removed, and all kept segments with timestamps. Review this output to confirm the result looks reasonable.
This applies a speed multiplier to the silence-removed video, producing <input>_nosilence_1.2x.mp4.
Default parameters:
--speed 1.2 — 1.2x playback speed (a subtle boost that doesn't feel rushed)| Flag | Default | Description |
|---|---|---|
-o, --output | <input>_nosilence.mp4 | Custom output path |
-t, --threshold | -30dB | Silence threshold in dB (higher = more aggressive). Always use -20dB for screencasts — pass as -t="-20dB" to avoid argparse issues with negative values |
-d, --duration | 0.8 | Minimum silence duration in seconds to remove. Use 0.5 for screencasts |
-p, --padding | 0.2 | Padding kept around non-silent segments |
--dry-run | off | Only print detected segments, don't export |
| Flag | Default | Description |
|---|---|---|
-o, --output | <input>_<speed>x.mp4 | Custom output path |
-s, --speed | 1.2 | Playback speed multiplier |
-t="-30dB" -d 0.8 if the default is cutting too much speech.-t="-15dB" -d 0.3 and --speed 1.5 for maximum compression.--dry-run on remove_silence.py to see what would be cut without creating a file.-o on either script to control the output path.