1.5 KiB
Standalone media decoder tools
The desktop distribution must include FFmpeg and FFprobe alongside its Google worker. End users should not install tools or configure paths. Development and release preparation use:
python tools/media-runtime/provision.py --stage
python -m unittest discover -s tools/media-runtime -p 'test_*.py'
The manifest pins a dated BtbN release, exact archive size, and published SHA-256. Provisioning checks the cache or downloads/verifies the archive, extracts only the two standalone decoder executables and notices, and stages them under the native resources directory. Executables and archives are ignored by Git. No global installation occurs. Movie/audio decoding runs in bounded subprocesses.
Windows x86-64/ARM64 and Linux x86-64/ARM64 have pinned artifacts. Only Windows x86-64 has been executed here. A vetted macOS decoder build/staging path remains a release gate; generic media code can accept native tools through explicit paths. The selected build is FFmpeg 9.0.2 with LGPL configuration. Keep original notices and corresponding source/build provenance with distribution; installer licensing and all-platform execution are still open production gates.
Source/build provenance:
- https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2026-10-12-13-12
- https://github.com/BtbN/FFmpeg-Builds
- https://ffmpeg.org/legal.html
FFmpeg capabilities vary by build. An unsupported or corrupt file must report an error while remaining filename-searchable; it must never freeze search or be silently reported as fully indexed.