Overview
Requires ffmpeg and ffprobe on PATH. Scripts are Python 3.11+, run via `uv run` (no separate install step).
Recipes
Copy-paste command sequences agents can run via uv run.
Trim a section
uv run scripts/trim.py --input /path/to/clip.mp4 --start 5 --end 12.5Cut several segments then join
uv run scripts/trim_multi.py --input clip.mp4 --segment 0:3 --segment 5:8
uv run scripts/concat.py --paths .mediaskills/generated/clip_segment_0.mp4 .mediaskills/generated/clip_segment_1.mp4Transcode for delivery
uv run scripts/transcode.py --input master.mov --codec libx264 --bitrate 5M --output deliverable.mp4Replace audio track
uv run scripts/replace_audio.py --input video.mp4 --audio normalized.wav --copy-videoTrim then transcode
Low-res proxy for review
uv run scripts/proxy.py --input master.mp4Operations
Each script returns structured JSON — see the script contract.
| Op ID | Script | Common flags |
|---|---|---|
video.concat | concat.py | --output |
video.extract_audio | extract_audio.py | --input |
video.extract_frame | extract_frame.py | --input |
video.proxy | proxy.py | --input |
video.replace_audio | replace_audio.py | --input |
video.scale | scale.py | --input |
video.to_gif | to_gif.py | --input |
video.transcode | transcode.py | --input |
video.trim | trim.py | --input |
video.trim_multi | trim_multi.py | --input |
Do not use for
- Read-only metadata (use `inspect`)
- Audio-only pipelines (use `audio`)
- Caption/subtitle authoring (use `speech-captions` / `subtitles`)