← Open Source
open-edge-platform

dlstreamer

Deep Learning Streamer (DL Streamer) Pipeline Framework is an open-source streaming media analytics framework, based on GStreamer* multimedia framework, for creating complex media analytics pipelines for the Cloud or at the Edge.

InfrastructureDeploy & ServeC++
Open on GitHub
Momentum
+0stars in 24 hours0.0%
642
Stars
211
Forks
+6
This week
53
Contributors
Created 2019-03-13 · Updated 2026-10-15 · #15633 today
Top developers

open-edge-platform/dlstreamer is ranked 15,633 with 642 stars.

Same-category comparison

open-edge-platform/dlstreamer is ranked 15,633 among these 8 peers; apache/casbin-gateway is ranked 15,630.

Same-category comparison
NameRankMetrics
DaveBben/esp32-llm15,578
Language:
C
Stars:
645
Forks:
82
Description:
Running a LLM on the ESP32.
WW-AI-Lab/openclaw-office15,580
Language:
TypeScript
Stars:
645
Forks:
115
princeton-nlp/LLM-Shearing15,622
Language:
Python
Stars:
643
Forks:
59
Description:
[ICLR 2024] Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning.
apache/casbin-gateway15,630
Language:
Go
Stars:
642
Forks:
71
Description:
See what every AI coding agent on your machine is doing, and whether the API behind it is the one you paid for. Claude Code, Codex, Cursor, Gemini CLI and more: one endpoint for 44 model vendors, A–F API authenticity grading, per-agent permissions, usage and prompt records.
NVIDIA/runx15,643
Language:
Python
Stars:
641
Forks:
42
Description:
Deep Learning Experiment Management.
perone/euclidesdb15,654
Language:
C++
Stars:
641
Forks:
31
Description:
A multi-model machine learning feature embedding database.
aws-neuron/aws-neuron-sdk15,673
Language:
Python
Stars:
640
Forks:
198
Description:
Powering AWS purpose-built machine learning chips. Blazing fast and cost effective, natively integrated into PyTorch and TensorFlow and integrated with your favorite AWS services.
BingZi-233/check-cx15,702
Language:
TypeScript
Stars:
638
Forks:
133
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageC++
CategoryInfrastructure
SubcategoryDeploy & Serve
KeywordsComputer vision
Stars642
Forks211
Contributors53
Created date2019-03-13
Updated date2026-10-15
Stars in 1 day0
Stars in 7 days6
Rank15,633
Previous rank15,447
Rank change-186
7-day stars rank5,274
Previous 7-day stars rank5,285
7-day stars rank change11
Total stars rank15,928
Previous total stars rank15,902
Total stars rank change-26
README summary

NOTE] The branch is under active development and may be unstable. For production use, please pick a stable version from the Releases page. **DL Streamer** is an open-source media analytics framework built on GStreamer. Powered by **OpenVINO™** for optimized inference on Intel CPU, GPU, and NPU. Pipelines are described as **simple strings** (or Python/C++ code) and executed with full hardware acceleration. Ships with **30+ ready-to-run samples** covering detection, classification, tracking, VLMs, LiDAR and more. Part of

the **Intel Open Edge Platform**. 04, and adds your user to the required groups. Output to JSON (works everywhere, including headless Docker): Python API Create a file : Then run it and wait for results: If any Python dependencies are missing, refer to the Python dependencies install guide. * *GStreamer is a trademark of the GStreamer project.

Frequently asked questions

How many stars and forks are recorded?

open-edge-platform/dlstreamer has 642 stars and 211 forks.

What is the repository rank?

open-edge-platform/dlstreamer is ranked 15,633.

What language and category are recorded?

open-edge-platform/dlstreamer has 642 stars, uses C++ and belongs to Infrastructure.

Which repository is closest in rank?

open-edge-platform/dlstreamer is compared with apache/casbin-gateway, ranked 15,630 with 642 stars.

README

[!NOTE] The main branch is under active development and may be unstable. For production use, please pick a stable version from the Releases page.

Deep Learning Streamer (DL Streamer)

Hardware-accelerated video analytics pipelines — CPU, GPU and NPU, from a single line of code to production-grade edge AI

Get Started • Run Your Pipeline • Samples • Elements • Documentation • Contributing


What is DL Streamer?

DL Streamer is an open-source media analytics framework built on GStreamer. It lets you build video and audio intelligence pipelines — from a simple object detection command line to a multi-stream, multi-sensor production deployment, all with minimal code.

  • Powered by OpenVINO™ for optimized inference on Intel CPU, GPU, and NPU.
  • Pipelines are described as simple strings (or Python/C++ code) and executed with full hardware acceleration.
  • Ships with 30+ ready-to-run samples covering detection, classification, tracking, VLMs, LiDAR and more.
  • Part of the Intel Open Edge Platform.

Why DL Streamer?

Benefit Details
One-line pipelines Build a working detection pipeline in a single gst-launch-1.0 command
Hardware acceleration Targets CPU, GPU, and NPU on Intel platforms from a single codebase
VLM & GenAI ready Run Vision-Language Models (MiniCPM-V, CLIP, Whisper) in a GStreamer pipeline
GstAnalytics compliance Supports the GStreamer industry metadata standard for interoperability with other GStreamer-based tools
Messaging integration Publish inference results directly to MQTT or Kafka with built-in elements — no extra code required
Python-first extensibility Add custom logic as Python callbacks or full Python GStreamer elements — no C++ required
Multi-stream, multi-sensor Mux/demux dozens of RTSP streams, LiDAR frames, and radar point clouds in one process
Geti™, Ultralytics & HuggingFace support Deploy models from Geti™ Studio, Ultralytics, Hugging Face, or any ONNX/OpenVINO IR model directly


Quick Start - Installation

Step 1 — Install GPU/NPU drivers (required for Docker and native install)

cd ~
wget https://raw.githubusercontent.com/open-edge-platform/dlstreamer/main/scripts/DLS_install_prerequisites.sh
chmod +x DLS_install_prerequisites.sh
./DLS_install_prerequisites.sh

This script detects your Intel GPU/NPU, installs the correct drivers for Ubuntu 22.04 or 24.04, and adds your user to the required groups. Use --reinstall-npu-driver=yes to force-reinstall the NPU driver. Run ./DLS_install_prerequisites.sh --help for all options.

Step 2 — Install DL Streamer

Option A — Docker (recommended, zero setup):

# Run once on the host to allow X11 forwarding from containers
xhost +local:docker

docker run -it --rm \
  --device /dev/dri \
  --group-add $(stat -c "%g" /dev/dri/render*) \
  -e DISPLAY=$DISPLAY \
  -e XDG_RUNTIME_DIR=/tmp \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  intel/dlstreamer:latest

To use the NPU, also add --device /dev/accel --group-add $(stat -c "%g" /dev/accel/accel*) to the docker run command.

Option B — Native install (Ubuntu 24.04):

sudo -E wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/intel-gpg-archive-keyring.gpg > /dev/null
sudo -E wget -O- https://apt.repos.intel.com/edgeai/dlstreamer/GPG-PUB-KEY-INTEL-DLS.gpg | sudo tee /usr/share/keyrings/dls-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/dls-archive-keyring.gpg] https://apt.repos.intel.com/edgeai/dlstreamer/ubuntu24 ubuntu24 main" | sudo tee /etc/apt/sources.list.d/intel-dlstreamer.list
sudo bash -c 'echo "deb [signed-by=/usr/share/keyrings/intel-gpg-archive-keyring.gpg] https://apt.repos.intel.com/openvino ubuntu24 main" | sudo tee /etc/apt/sources.list.d/intel-openvino.list'
sudo apt update && sudo apt-get install -y intel-dlstreamer

Full installation guide: Install Guide for Ubuntu | Windows


Quick Start - Run Your Pipeline

Step 1 — Set up models and environment (inside the container or on a native install):

cd ~
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv .dls-venv && source .dls-venv/bin/activate
uv pip install -r /opt/intel/dlstreamer/scripts/download_models/requirements_download_ultralytics_models.txt
python3 /opt/intel/dlstreamer/scripts/download_models/download_ultralytics_models.py \
  --model yolo11n.pt \
  --outdir ~/models/yolo11n \
  --int8
source /opt/intel/dlstreamer/scripts/setup_dls_env.sh

Step 2 — Run the pipeline. Change device=GPU to device=CPU or device=NPU — no other code changes needed.

gst-launch-1.0 \
  urisourcebin buffer-size=4096 uri=https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 ! \
  decodebin3 ! \
  gvadetect model=~/models/yolo11n/yolo11n.xml device=GPU ! \
  queue ! \
  gvawatermark ! \
  gvafpscounter ! \
  videoconvert ! autovideosink sync=false

Output to JSON (works everywhere, including headless Docker):

gst-launch-1.0 \
  urisourcebin buffer-size=4096 uri=https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4 ! \
  decodebin3 ! \
  gvadetect model=~/models/yolo11n/yolo11n.xml device=GPU ! \
  queue ! \
  gvafpscounter ! \
  gvametaconvert format=json ! \
  gvametapublish file-format=json-lines file-path=output.json ! fakesink async=false

Python API

Create a file detect.py:

import gi
gi.require_version("Gst", "1.0")
from gi.repository import Gst
import os

Gst.init([])

video_url = "https://videos.pexels.com/video-files/1192116/1192116-sd_640_360_30fps.mp4"
model = os.path.expanduser("~/models/yolo11n/yolo11n.xml")
pipeline = Gst.parse_launch(f"""
    urisourcebin buffer-size=4096 uri={video_url} !
    decodebin3 !
    gvadetect model={model} device=GPU !
    queue !
    gvafpscounter !
    gvametaconvert format=json !
    gvametapublish file-format=json-lines file-path=output_from_python.json ! fakesink async=false
""")

pipeline.set_state(Gst.State.PLAYING)
bus = pipeline.get_bus()
bus.timed_pop_filtered(Gst.CLOCK_TIME_NONE, Gst.MessageType.EOS | Gst.MessageType.ERROR)
pipeline.set_state(Gst.State.NULL)

Then run it and wait for results:

python3 detect.py
# Detection results are written to output_from_python.json as the pipeline processes frames
# Each line is a JSON object with detected objects, labels, and bounding boxes
cat output_from_python.json

If any Python dependencies are missing, refer to the Python dependencies install guide.


DL Streamer Elements

Category Key Elements
Inference gvadetect · gvaclassify · gvainference · gvagenai · gvaaudiotranscribe
Analytics gvatrack · gvaanalytics · gvastreammux / gvastreamdemux · gvamotiondetect
Output gvawatermark · gvametaconvert · gvametapublish · gvafpscounter
3D / Sensors g3dlidarparse · g3dinference · g3dradarprocess

Full elements reference →


Samples

30+ samples across Python, C++, and gst-launch command lines:

Category Samples
Detection YOLO detection, Face detection + classification, Depth estimation
Segmentation & Pose Instance segmentation, Human pose estimation
Tracking Vehicle & pedestrian tracking, Vehicle counter with tripwires
VLM / GenAI VLM video summarization, VLM alerts, VLM self-checkout
Multi-stream Multi-camera deployment, Stream mux/demux
3D Sensors LiDAR parsing, PointPillars 3D detection, Radar processing
Integration ONVIF camera discovery, Geti™ model deployment, Metadata to MQTT/Kafka
Python extensibility Custom Python GStreamer elements, Smart NVR with recording

Browse all samples →


Supported Platforms

Hardware CPU GPU NPU
Intel Core Ultra series 1–3 (Meteor / Lunar / Arrow / Panther Lake) ✅ ✅ ✅
Intel Arc discrete GPU (Alchemist, Battlemage) — ✅ —
11th–13th Gen Intel Core ✅ ✅ —

Operating systems: Ubuntu 22.04 / 24.04, Windows 11.

Full system requirements →


Documentation

Resource Link
Overview Overview
Elements Reference Elements Reference
Supported Models Supported Models
Developer Guide Developer Guide
API Reference API Reference
Metadata Guide Metadata Guide
Video Tutorials YouTube Playlist

Contributing

We welcome contributions! Please read CONTRIBUTING.md and follow the Code Style Guide.

For security issues, see SECURITY.md.


License

DL Streamer is licensed under the MIT License.


Intel, the Intel logo, OpenVINO, OpenVINO logo, Intel Geti, Intel Core, Intel Arc, and Intel Iris are trademarks of Intel Corporation or its subsidiaries. GStreamer is a trademark of the GStreamer project.

Nearby in the ranking
Similar items