-
-
Notifications
You must be signed in to change notification settings - Fork 255
Home
VidGear is a powerful python Video Processing library built with multi-threaded Gears(a.k.a APIs) each with a unique set of trailblazing features. These APIs provides a easy-to-use, highly extensible, and multi-threaded wrapper around many underlying state-of-the-art python libraries such as OpenCV ➶, FFmpeg ➶, picamera ➶, pafy ➶, pyzmq ➶ and python-mss ➶. TL;DR, VidGear is an ultrafast, compact, flexible and easy-to-adapt complete Video Processing Python Library.
The original motivation and thinking behind creating this project was to build an ultrafast extensible and bugfree python Video Processing library with experimental features like real-time Video-Stabilization, lossless Video-Encoding, and Multi-Threading, etc. But also keeping it simple at the same time, thereby it must let programmers and software developers to easily integrate and perform complex Video Processing tasks in their existing or new applications, without going through various underlying python library's documentation independently and by using just a few lines of code. continue ...
VidGear is built with multi-threaded Gears each with some unique function/mechanism. Each Gear is designed exclusively to handle/control different device/application specific video streams, network streams, and media encoders. These APIs provides an easy-to-use, highly extensible, and a multi-threaded wrapper around many underlying various python libraries to exploit their features and functions directly while providing robust error-handling.
These Gears can be classified as follows:
A. VideoCapture Gears:
- CamGear: Targets various IP-USB-Cameras/Network-Streams/YouTube-Video-URL.
- PiGear: Targets various Raspberry Pi Camera Modules.
- ScreenGear: Enables ultra-fast Screen Casting.
- VideoGear: A common API with Video Stabilizer wrapper.
B. VideoWriter Gear:
- WriteGear: Handles easy Lossless Video Encoding and Compression.
C. Network Gear:
- NetGear: Targets synchronous video frames transferring between interconnecting systems over the network.