streamgrid


Namestreamgrid JSON
Version 1.0.3 PyPI version JSON
download
home_pageNone
SummaryUltra-fast multi-stream: Display multiple video sources with object detection simultaneously using the CPU or GPU device.
upload_time2025-07-14 04:22:51
maintainerMuhammad Rizwan Munawar
docs_urlNone
authorMuhammad Rizwan Munawar
requires_python>=3.8
licenseNone
keywords video streaming display multi-stream opencv real-time python ultralytics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://github.com/ultralytics/ultralytics) YOLO-based detection running on all of them in real time.

[![Run CI](https://github.com/RizwanMunawar/streamgrid/actions/workflows/ci.yml/badge.svg)](https://github.com/RizwanMunawar/streamgrid/actions/workflows/ci.yml)
[![PyPI Downloads](https://static.pepy.tech/badge/streamgrid)](https://pepy.tech/projects/streamgrid)
[![PyPI version](https://img.shields.io/pypi/v/streamgrid.svg)](https://pypi.org/project/streamgrid/)

## Installation

```bash
pip install streamgrid
```

## Quick Start

### Python

```python
from ultralytics import YOLO
from streamgrid import StreamGrid

# Use assets videos for testing
model = YOLO("yolo11n.pt")
StreamGrid(model=model)  

# Use your own videos
sources = ["video1.mp4", "video2.mp4", "video3.mp4", "video4.mp4"]
StreamGrid(sources=sources, model=model)

```

## 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "streamgrid",
    "maintainer": "Muhammad Rizwan Munawar",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "video, streaming, display, multi-stream, opencv, real-time, python, ultralytics",
    "author": "Muhammad Rizwan Munawar",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/de/c4/17dc9ec6cabc7fb620dc017ca244aaa45a1cf647158b94d8cb54abb504ef/streamgrid-1.0.3.tar.gz",
    "platform": null,
    "description": "# StreamGrid \u26a1\n\nUltra-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.\n\nFrom smart surveillance to AI-powered dashboards, StreamGrid makes it effortless to display and analyze multiple video streams side-by-side, with [Ultralytics](https://github.com/ultralytics/ultralytics) YOLO-based detection running on all of them in real time.\n\n[![Run CI](https://github.com/RizwanMunawar/streamgrid/actions/workflows/ci.yml/badge.svg)](https://github.com/RizwanMunawar/streamgrid/actions/workflows/ci.yml)\n[![PyPI Downloads](https://static.pepy.tech/badge/streamgrid)](https://pepy.tech/projects/streamgrid)\n[![PyPI version](https://img.shields.io/pypi/v/streamgrid.svg)](https://pypi.org/project/streamgrid/)\n\n## Installation\n\n```bash\npip install streamgrid\n```\n\n## Quick Start\n\n### Python\n\n```python\nfrom ultralytics import YOLO\nfrom streamgrid import StreamGrid\n\n# Use assets videos for testing\nmodel = YOLO(\"yolo11n.pt\")\nStreamGrid(model=model)  \n\n# Use your own videos\nsources = [\"video1.mp4\", \"video2.mp4\", \"video3.mp4\", \"video4.mp4\"]\nStreamGrid(sources=sources, model=model)\n\n```\n\n## Performance (Beta, final benchmarks will be released soon)\n\nStreamGrid automatically optimizes performance based on the number of streams:\n\n- **1-2 streams**: 640\u00d7360 resolution, up to 15 FPS per stream\n- **3-4 streams**: 480\u00d7270 resolution, up to 10 FPS total (CPU processing)\n- **5-9 streams**: 320\u00d7180 resolution, up to 5 FPS per stream\n- **10+ streams**: 240\u00d7135 resolution, up to 3 FPS per stream\n\n*Note: Performance benchmarks are based on CPU processing. GPU acceleration can significantly improve throughput.*\n\n## Contributing\n\nWe welcome contributions! Please feel free to submit a Pull Request or open an issue for discussion.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Ultra-fast multi-stream: Display multiple video sources with object detection simultaneously using the CPU or GPU device.",
    "version": "1.0.3",
    "project_urls": {
        "Documentation": "https://github.com/RizwanMunawar/streamgrid#readme",
        "Homepage": "https://github.com/RizwanMunawar/streamgrid",
        "Issues": "https://github.com/RizwanMunawar/streamgrid/issues",
        "Repository": "https://github.com/RizwanMunawar/streamgrid"
    },
    "split_keywords": [
        "video",
        " streaming",
        " display",
        " multi-stream",
        " opencv",
        " real-time",
        " python",
        " ultralytics"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "20cd865f853ddc26d3e854435b74d68c76b60707a425db480f0f3da3d2b12d72",
                "md5": "e35803a5b3ab15763f85757dfabe6adb",
                "sha256": "41c522d333e4fc9157f9ed6627af76eeac86f6af11c4fde847fa105057afe7ec"
            },
            "downloads": -1,
            "filename": "streamgrid-1.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e35803a5b3ab15763f85757dfabe6adb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 23255,
            "upload_time": "2025-07-14T04:22:50",
            "upload_time_iso_8601": "2025-07-14T04:22:50.122848Z",
            "url": "https://files.pythonhosted.org/packages/20/cd/865f853ddc26d3e854435b74d68c76b60707a425db480f0f3da3d2b12d72/streamgrid-1.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dec417dc9ec6cabc7fb620dc017ca244aaa45a1cf647158b94d8cb54abb504ef",
                "md5": "e06394c2909bb89e4976b5540248ae7f",
                "sha256": "fdecaedb71619499fc356ba3b11a445bd6969beb09b2a4ecf4eaa3943d1fba0b"
            },
            "downloads": -1,
            "filename": "streamgrid-1.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "e06394c2909bb89e4976b5540248ae7f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 23590,
            "upload_time": "2025-07-14T04:22:51",
            "upload_time_iso_8601": "2025-07-14T04:22:51.259231Z",
            "url": "https://files.pythonhosted.org/packages/de/c4/17dc9ec6cabc7fb620dc017ca244aaa45a1cf647158b94d8cb54abb504ef/streamgrid-1.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-14 04:22:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "RizwanMunawar",
    "github_project": "streamgrid#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "streamgrid"
}
        
Elapsed time: 0.65993s