Video Remove Audio
Strip all audio tracks (music, voice, SFX) from a supported video file via FFmpeg. Defaults preserve the video bitstream — stream-copy video (-c:v copy), drop audio (-an), no re-encode.
Rules
When this skill applies, read and follow skill-dependency-manager — run scripts as documented, install missing tools into .dependency/.
- Run
remove_audio.pythrough.dependency/python/python.exe. Never use hostpython/ffmpeg. - Never overwrite sources. Outputs go under
video-remove-audio/. - Use the bundled script — do not hand-write equivalent FFmpeg commands.
- One file per run — pass
--videowith a single file; repeat for each clip in a batch.
Quick Start
.dependency/python/python .ai/video-remove-audio/remove_audio.py --video path/to/clip.mp4
Example:
assets/intro.mp4
→ assets/video-remove-audio/intro.mp4
Same video codec/container, no audio.
Format Defaults
| Setting | Default | Notes |
|---|---|---|
| Video | Stream copy | No quality loss; same codec/resolution/fps |
| Audio | Removed (-an) |
Drops every audio stream |
| Container | Same as source | Extension preserved |
| Already silent | Skipped | Reports [skip] when no audio streams |
Common Flags
--video · -o / --output
.dependency/python/python .ai/video-remove-audio/remove_audio.py --video clip.mp4
.dependency/python/python .ai/video-remove-audio/remove_audio.py --video clip.mp4 -o out/silent.mp4
Never overwrite source files. Input must be a single video file (--video), not a directory. Supported inputs: .mp4, .mkv, .mov, .avi, .webm, .wmv, .flv, .m4v, .mpeg, .mpg, .ts, .mts, .m2ts, .3gp, .ogv.
Agent Notes
- Use the bundled script, not hand-written
ffmpeg -i … -ancommands. - Always uses stream copy for video (
-c:v copy -an). - This removes all audio; it does not isolate or mute music while keeping dialogue (no stem separation).
- Missing Python/FFmpeg → populate
.dependency/per skill-dependency-manager, retry same command. - Do not copy, move, or replace the source with muted output — tell the user where
video-remove-audio/files are; they swap assets manually when ready. - Need audio extracted instead of removed → use video-to-wav.
- FFmpeg details: reference.md
Tests
From repo root:
.dependency/python/python .ai/video-remove-audio/test_remove_audio.py
Manual CLI examples: cli/video-remove-audio.md