Per sub-project-2 plan Task 3 / spec §5.1. Parses ffprobe JSON into a Probe
(streams + format); subprocess runner injectable so tests never shell out.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per sub-project-2 plan Task 1. Adds tools/ to setuptools packages,
gitignores media/, and a minimal injectable urllib HTTP client.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>