Skip to main content

Ultra-fast multi-stream: Display multiple video sources with object detection simultaneously using the CPU or GPU device.

Project description

StreamGrid ⚡

Ultra-fast multi-stream video display, Run real-time object detection across multiple video feeds with real-time speed. Whether you're on CPU or GPU, StreamGrid handles the load like a champ.

From smart surveillance to AI-powered dashboards, StreamGrid makes it effortless to display and analyze multiple video streams side-by-side, with Ultralytics YOLO-based detection running on all of them in real time.

Run CI PyPI Downloads PyPI version Explore streamgrid tech in DeepWiki

Installation

pip install streamgrid

Quick Start

Python

from ultralytics import YOLO
from streamgrid import StreamGrid

# Load model
model = YOLO("yolo11n.pt")
# model = YOLO("yolo11n_openvino_model")  ~2-3x faster
StreamGrid(model=model)  

# Inference on GPU
StreamGrid(
    sources=[
        "path/to/video1.mp4", "path/to/video2.mp4", 
        "path/to/video3.mp4", "path/to/video4.mp4"
    ], 
    device="cuda")

# Store stream results in CSV file
StreamGrid(sources=sources, analytics=True)

CLI (Command Line Interface)

streamgrid model=yolo11n.pt

# Run inference with GPU device
streamgrid model=yolo11n.pt device=0  

# save the output
streamgrid model=yolo11n.pt device=cpu save=True

# Pass source
streamgrid model=yolo11n.pt sources=["video1.mp4", "video2.mp4"]

# Store Stream results in CSV file
streamgrid model=yolo11n.pt analytics=True

Performance (Beta, final benchmarks will be released soon)

StreamGrid automatically optimizes performance based on the number of streams:

  • 1-2 streams: 640×360 resolution, up to 15 FPS per stream
  • 3-4 streams: 480×270 resolution, up to 10 FPS total (CPU processing)
  • 5-9 streams: 320×180 resolution, up to 5 FPS per stream
  • 10+ streams: 240×135 resolution, up to 3 FPS per stream

Note: Performance benchmarks are based on CPU processing. GPU acceleration can significantly improve throughput.

Contributing

We welcome contributions! Please feel free to submit a Pull Request or open an issue for discussion.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamgrid-1.0.10.tar.gz (25.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamgrid-1.0.10-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file streamgrid-1.0.10.tar.gz.

File metadata

  • Download URL: streamgrid-1.0.10.tar.gz
  • Upload date:
  • Size: 25.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for streamgrid-1.0.10.tar.gz
Algorithm Hash digest
SHA256 639771debdc53bf573c7dd5a13c31cb97fd4f8fa4f77cb6c1adc3b2639b2f8c1
MD5 915034c8b9947f139cfc7deebd4447c6
BLAKE2b-256 1112d3bb6238345e06fadb6434678d7d2369169e195593d483180278e7fcc1b0

See more details on using hashes here.

File details

Details for the file streamgrid-1.0.10-py3-none-any.whl.

File metadata

  • Download URL: streamgrid-1.0.10-py3-none-any.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for streamgrid-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 1fba93fcd2ac7777c5e134723a5da7fb4c8b80277a2b9c9d9b1a316073ed2bec
MD5 d754fb05ad9eb4ad5aaf280895079b5c
BLAKE2b-256 bf138cd54a1019bd758a0e8cc5351b507904fe042eaa2ecc74b9ef35ecd8d761

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page