Skip to content
Abhishek Thakur edited this page Apr 28, 2020 · 92 revisions

VidGear Logo

What is VidGear?

TL;DR, VidGear is an ultrafast, compact, flexible and easy-to-adapt complete Video Processing Python Library.

VidGear is a powerful python Video Processing library built with multiple APIs (a.k.a Gears) each with a unique set of trailblazing features. These APIs provides an easy-to-use, highly extensible, multi-threaded & asyncio wrapper around many underlying state-of-the-art libraries such as OpenCV ➶, FFmpeg ➶, starlette ➶, picamera ➶, pafy ➶, pyzmq ➶ and python-mss ➶

 

Why is VidGear a thing?

The original motivation and thinking behind creating this project was to build an ultrafast extensible and bug-free 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 ...

 

Gears, What are these?

VidGear is built with multiple APIs (a.k.a Gears), each with some unique function/mechanism.

Each of these APIs is exclusively designed to handle/control different device-specific video streams, network streams, and media encoders. These APIs provide an easy-to-use, highly extensible, multi-threaded and asyncio wrapper around state-of-the-art libraries under the hood to exploit their internal parameters and methods flexibly while providing robust error-handling and unparalleled performance.

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 Gears:

  • NetGear: Targets flexible video-frames and data transfer between interconnecting systems over the network.

  • Asynchronous I/O Network Gears:

    • WebGear: ASGI Video Server that transfers live video frames to any web browser on the network.
    • NetGear_Async Fast, Memory-Efficient Asyncio video-frame messaging framework.

 

Need Help?

 

Clone this wiki locally