Repolode
sherlockchou86

sherlockchou86/VideoPipe

A C++ video analysis framework that chains stream reading, model inference, tracking and output as pluggable pipeline nodes.

Open-source alternative to:NVIDIA DeepStream

Stars
2,984
Forks
470
Open issues
4
Last commit
8 months ago

What is it?

VideoPipe is a C++ framework for video analysis and structuring. It is built around a pipeline of independent nodes that can be combined in different ways, so developers can assemble applications such as face recognition, image search, object tracking and traffic or security behavior analysis without writing the plumbing themselves.

The framework handles stream input over protocols like RTSP, RTMP, UDP and files, decoding and encoding through OpenCV or GStreamer with hardware acceleration, and on-screen display of results. Inference uses OpenCV::DNN by default and can be switched to TensorRT, Paddle Inference, ONNX Runtime or a custom backend. Recent versions also integrate multimodal LLMs served through Ollama, vLLM or OpenAI-compatible APIs.

VideoPipe supports multi-level inference, IOU and SORT tracking, line-crossing and parking detection, and pushing structured data to Kafka or sockets. It builds on CMake with optional CUDA, TensorRT, Paddle, Kafka and LLM modules, and runs on CPU when those are disabled.

Key features

  • 01Reads streams over RTSP, RTMP, UDP, files and applications.
  • 02Supports pluggable inference backends including OpenCV::DNN, TensorRT, Paddle Inference and ONNX Runtime.
  • 03Performs multi-level inference for detection, classification and feature extraction.
  • 04Tracks objects with IOU and SORT and analyzes line-crossing and parking behavior.
  • 05Integrates multimodal LLMs via Ollama, vLLM or OpenAI-compatible APIs.
  • 06Pushes structured data to Kafka or sockets and overlays results on frames.

Use cases

  • Building traffic incident or violation detection from camera feeds.
  • Prototyping face recognition or vehicle tracking on edge devices such as Jetson.
  • Running video structuring pipelines on CPU-only machines for testing.
  • Sending detected events to Kafka for downstream processing.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/sherlockchou86/VideoPipe.git
  2. 2

    Enter the project directory

    cd VideoPipe
  3. 3

    Create and enter the build directory

    mkdir build && cd build
  4. 4

    Configure and compile the project

    cmake .. && make -j8

Things to know

  • Requires OpenCV 4.6 or newer, GStreamer, and GCC 7.5 or newer before building.
  • Sample runs need test models and videos downloaded separately from Google Drive or Baidu Drive.

Topics

FAQ

What is VideoPipe?
A C++ video analysis framework that chains stream reading, model inference, tracking and output as pluggable pipeline nodes. VideoPipe is a C++ framework for video analysis and structuring. It is built around a pipeline of independent nodes that can be combined in different ways, so developers can assemble applications such as face recognition, image search, object tracking and traffic or security behavior analysis without writing the plumbing themselves.
Is VideoPipe free to use? What license does it have?
VideoPipe is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is VideoPipe still maintained?
No commits for 6+ months. The last commit to VideoPipe was on Feb 25, 2026.
What can I use VideoPipe for?
Building traffic incident or violation detection from camera feeds. Prototyping face recognition or vehicle tracking on edge devices such as Jetson. Running video structuring pipelines on CPU-only machines for testing. Sending detected events to Kafka for downstream processing.
How do I install VideoPipe?
Clone the repository: git clone https://github.com/sherlockchou86/VideoPipe.git Enter the project directory: cd VideoPipe Create and enter the build directory: mkdir build && cd build Configure and compile the project: cmake .. && make -j8
Where can I get VideoPipe?
The source code and installation instructions are on GitHub: https://github.com/sherlockchou86/VideoPipe

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects