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. A full catalog of Apps and Plugins ships in the box 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, whether it is one of the 5 in-tree built-in Apps or one of the 12 that live in their own versioned repos and compose into the build pinned by content sha256 — indistinguishable from the built-ins at runtime. The nine vision apps each have a full page with use cases, how it works, honest limits and requirements. Apps tagged Edge can run co-located or distributed per-stream across edge nodes.

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. The nine vision apps have a full landing below; any Edge-tagged app can also run distributed per-stream across edge nodes.

Edge

Occupancy

zones · sessions

Track how many people or vehicles are inside each zone, how long they stay, and alert when a zone stays over its limit.

Explore
Edge

Counting

line crossing · IN/OUT

Count people across one or more lines drawn on the live video — realtime IN/OUT crossings and a live inside count against a capacity.

Explore
Edge

Crowd

density · threshold

Count heads per zone from sampled frames and alert only when a crowd truly persists past your threshold.

Explore
Edge

Demography

age · gender · emotion

Estimate age, gender and emotion per face — locally with InsightFace, or via an opt-in vision API with a monthly budget cap.

Explore
Edge

Presence

zones · schedule

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

Explore
Edge

People Counter

IN/OUT · occupancy

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

Explore
Edge

Perimeter

armed schedule · evidence

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

Explore
Edge

License Plate Recognition

LPR · ALPR

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

Explore
Edge 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
Edge

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.

Edge

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.

Streamflow — Workflow Engine

event-driven · secrets

An n8n-style visual automation engine triggered by any core, plugin or cluster event. Encrypted per-app secrets, a full event catalogue, JSON export/import, and gated code/SSH/shell/SQL execution nodes (default OFF). Runs in-core, no worker to manage.

Live Control

pause · resume · finish

Take over an already-live stream: pause behind a configurable cover with audio muted, resume, or finish with a closing card — from the dashboard or the API, per app or per stream.

Stream Health

origin monitor

Samples every live stream's HLS output and turns stalls, dropped segments, A/V desync, audio silence and bitrate drops into signed webhook + MQTT + Streamflow events, with a worst-first status grid in the dashboard.

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.