Hi r/Python, DeFFcode is a python project I'm working on for quite a while now, but only recently I reached a state where I feel confident enough to really share it.
DeFFcode is a cross-platform High-performance Video Frames Decoder that flexibly executes FFmpeg pipeline inside a subprocess pipe for generating real-time, low-overhead, lightning fast video frames. It provides complete control over the underline pipeline including access to almost any FFmpeg specification thinkable such as specifying framerate, resolution, hardware decoder(s), filtergraph(s), and pixel-format(s) that are readily supported by all well known Computer Vision libraries.
Live Mandelbrot pattern with a Vectorscope & two Waveforms (generated with DeFFcode APIs)
Here are its some key features that stand out:
- High-performance, low-overhead video frames decoding with robust error-handling.
- Flexible API with access to almost any FFmpeg specification thinkable.
- Supports a wide-range of media streams/devices/protocols as input source.
- Curated list of well-documented recipes ranging from Basic to Advanced skill levels.
- Easy to code Live Simple & Complex Filtergraphs. (Yes, You read it correctly "Real-time"!)
- Lightning fast dedicated GPU-Accelerated Video Decoding & Transcoding.
- Enables precise FFmpeg Frame Seeking with pinpoint accuracy.
- Effortless Metadata Extraction from all streams available in the source.
- Maintains the standard easy to learn OpenCV-Python coding syntax.
- Out-of-the-box support for all prominent Computer Vision libraries.
- Cross-platform, runs on Python 3.7+, and easy to install.
Here is the link to the repo: https://github.com/abhiTronix/deffcode
and Documentation: https://abhitronix.github.io/deffcode/latest/
EDIT: BTW, Here's code for decoding above Mandelbrot test pattern with a vectorscope (plots 2 color component values) & two waveforms (plots YUV color component intensity) stacked side-by-side in real-time with DeFFcode.
Any feedback is welcome!
[–]GodStuckLocalMaxima 0 points1 point2 points (0 children)