Studio

Extend the media core with apps & plugins

Studio turns StreamHub from a media server into a platform. Every app you enable — CCTV vision, an advanced player, privacy overlays, automation — drops into the same core, spawns its own managed worker where it needs one, and speaks the same signed events. The core and every plugin are open source. We do not license plugins per camera; we help you deploy, integrate and operate them.

Open core, apps on top

Open-source core, apps & plugins

The media core is AGPL, and so is every Studio app and plugin. Seventeen ship in the box — ten Apps and seven Plugins — as reference implementations; the framework auto-discovers your own the same way, with no central registry to edit.

Apps are full applications

An App opens as a full page inside the dashboard, keeps its own database, and exports as a self-contained bundle — worker, Dockerfile, compose and env template — so you can run it standalone on your own infra and talk back to the media server over its REST API and signed webhooks.

No lock-in — we run it with you

No per-camera or per-plugin analytics licensing, ever: you own the code, the models, the events and the data. What we sell is deployment, integration and managed operation — getting the right apps live on your cameras and kept running.

The catalog

Two shelves — full Apps and lightweight Plugins. Every card ships in the box today; the five vision apps each have a full page with use cases, how it works, honest limits and requirements.

Apps

Full applications on the media core

Each app opens as a full page inside the dashboard, keeps its own database, and exports as a self-contained bundle you can run on your own infra — talking back to the media server over its REST API and signed webhooks. Ten ship in the box; the five vision apps have a full landing below.

Presence

zones · schedule

Know when a workstation or post is left unattended — or manned outside the schedule.

Explore

People Counter

IN/OUT · occupancy

Count people across a line drawn on the live video — IN/OUT totals, live occupancy and capacity alerts.

Explore

Perimeter

armed schedule · evidence

Alert on anyone entering a restricted zone while the perimeter is armed — with snapshot and clip evidence.

Explore

License Plate Recognition

LPR · ALPR

Read license plates off any live camera, match a whitelist/blacklist and act in real time.

Explore
Experimental

Safety PPE

EXPERIMENTAL · helmet · hi-viz

Advisory flags when a person in a work zone is missing a required helmet or hi-viz vest — for a human to review.

Explore

YOLO Object Detection

object detection

Run ultralytics YOLO over any live stream and POST bounding boxes for any of the 80 COCO classes to a signed callback — a general-purpose detection engine to build your own alerts on. CPU-viable, GPU optional.

Deface — Face Obfuscation

privacy

Detect faces in the live stream (CenterFace, server-side) and obfuscate them in the player — blur, mosaic or a solid mask over each face.

Cockpit

surveillance wall

A CCTV-style board: a paginated, drag-and-drop grid of every live stream in the app, for an operator watching many cameras at once.

VOD Transcription

subtitles

Transcribe recorded VODs to text + SRT subtitles, uploaded next to the recording in your S3. Local open-source Whisper by default; OpenAI API optional.

Fleet — Agent Management

MQTT · agents

Manage the StreamHub Agents in an app over MQTT: live health (CPU, RAM, temperature, uptime, cameras, disk), online/offline status and remote control — restart, OTA update, config push and ping.

Plugins

Lightweight in-process extensions

Players, overlays and panels that drop into the core in-process — no worker, no separate database. Enable them per app; the player and dashboard pick them up live. Seven ship in the box.

Vidstack Player

advanced player

Swap the built-in video.js HLS + VOD player for a modern, skinned Vidstack player (hls.js). Sub-second WebRTC live is unaffected.

Quality / Stream Health

traffic light

Measure the client↔server connection: a download/upload bandwidth test plus latency and jitter, distilled into a green/amber/red light against your thresholds.

Video Streaming

webcam → RTMP

Go live with your webcam and mic and forward the composed room to an external RTMP destination — YouTube, Twitch or a custom target — via server egress.

Radio

audio-only

An audio-only WebRTC radio inside the app: go on air from the mic, watch the live listener count and hand out subscribe-only listen tokens.

Scheduled Live

premieres

Schedule live premieres: viewers see a countdown until the start time, then the stream is revealed.

Watermark

overlay

Overlay a text watermark on the player to mark ownership and provenance on the footage.

Timestamp CCTV

overlay

A live CCTV-style date/time stamp (with the camera name) on the player. Configure format, corner, colour and whether to show the name.

Have cameras or streams to put to work?

Tell us what you are monitoring and we will scope the right apps, wire them into your systems and run them with you. The software is open source — the deployment and operation is what we do.