Overview

Requires 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.

Quick metadata check
uv run scripts/describe.py --input /path/to/clip.mp4
Example JSON output
{"ok": true, "op": "inspect.describe", "data": {"format": "mov,mp4,m4a,3gp,3g2,mj2", "duration": "12.500000", "size": "1048576", "video": {"codec": "h264", "width": 1920, "height": 1080}, "audio_codecs": ["aac"]}, "output_paths": []}
Full structured probe (for programmatic use)
uv run scripts/probe.py --input /path/to/clip.mp4
Compare before/after a transcode
uv run scripts/compare.py --input-a original.mp4 --input-b transcoded.mp4
Batch inventory a folder
uv run scripts/batch_probe.py --paths clip1.mp4 clip2.mp4 clip3.wav
Answer a specific question (agent workflow)
uv run scripts/ask.py --input clip.mp4 --question "Does this file have an audio track?"

Operations

Each script returns structured JSON — see the script contract.

Op IDScriptCommon flags
inspect.askask.py
inspect.batch_probebatch_probe.py
inspect.comparecompare.py--input
inspect.describedescribe.py
inspect.durationduration.py
inspect.probeprobe.py--input
inspect.resolutionresolution.py

Do not use for

  • Modifying or transcoding media (use `audio`, `image`, or `video-transformation`)
  • Downloading from URLs (use `download`)
  • Generating captions from speech (use `speech-captions`)

Related cookbooks