Hi HN,
I built typed-ffmpeg, a Python package that lets you build FFmpeg filter graphs with full type safety, autocomplete, and validation. It’s inspired by ffmpeg-python, but addresses some long-standing issues like lack of IDE support and fragile CLI strings.
What’s New in v3.0:
• Source filter support (e.g. color, testsrc, etc.)
• Input stream selection (e.g. [0:a], [1:v])
• A new interactive playground where you can:
• Build filter graphs visually
• Generate both FFmpeg CLI and typed Python code
• Paste existing FFmpeg commands and reverse-parse them into graphs
Playground link: https://livingbio.github.io/typed-ffmpeg-playground/
(It’s open source and runs fully in-browser.)
The internal core also supports converting CLI → graph → typed Python code. This is useful for building educational tools, FFmpeg IDEs, or visual editors.
I’d love feedback, bug reports, or ideas for next steps. If you’ve ever struggled with FFmpeg’s CLI or tried to teach it, this might help.
Thanks!
— David (maintainer)
For example, I've done experiments running every single program in /usr/bin with --help and -h. The number of failures to get any useful help are a huge percentage. (The normalization of said percentage naturally is idiosyncratic to the exact system I ran that on).
Anyway, adding types to a complex one like ffmpeg may help more people realize this as well as offering practical benefits. So, great job!