dispergo

PRIVATE ALPHA

The media path. Under control.

Bring streams in over SRT. Repair or normalize when the configured media path needs encoding. Deliver HLS, LL-HLS, WHEP WebRTC and MOQT, retain durable recordings with or without live playback, publish them to object storage, or route media onward. One Go binary composed from explicit input and output modules, with a data path that is bounded, measured, and written down.

What it does

Bring streams in
Accept SRT publishers, start managed pulls, or pull from another node when a viewer asks. Every path enters the same normalized stream model.
Repair when needed
Measure the stream first. Use bounded CPU or GPU workers for compatibility repair, an explicit H.264 target or supported HEVC input conversion. Automatic mode keeps matching inputs on the passthrough path.
Deliver live
Serve HLS, LL-HLS, WHEP WebRTC and MOQT from the same node. Keep storage-backed delivery and real-time playback as independent bounded outputs.
Route media onward
Push an active stream to one or more SRT destinations on demand or by standing rule. Each target has its own bounded lifecycle and cannot stall the source.
Record and publish
Keep a recording playable while it grows, finalize it at the same path, and publish committed artifacts safely to S3-compatible storage for archive or CDN delivery.
Operate the system
Use separate media and operational surfaces, stream and job status APIs, Prometheus metrics, structured logs, health probes, and bounded webhooks.

Shape the system

Start with one node. Add cascade input and output when viewers move farther away. Add a registry when stream placement becomes a control-plane concern. Push SRT to another server, partner, or processing destination when the media path needs another level.

The topology grows from the same binary and the same contracts. No mandatory control plane, hosted dependency, or proprietary transport is inserted between levels.

See common compositions

Map editor with an SRT cascade, stream registry and S3 recording archive Sketch a topology in Map Draw media paths and export a configuration draft for each tier.

Why dispergo

Transcode only when needed

Optional outputs build only when enabled. Automatic mode keeps a matching stream on the direct path; an explicit forced policy can normalize it to a configured target.

Bound every failure

Queues, retries, workers, viewers, uploads, and fan-out subscribers have explicit limits and isolated failure scopes.

Keep the data plane plain

One Go binary, one strict configuration document, and standards-based links between components.

Make claims observable

Status, metrics, structured events, compatibility tests, fault injection, and soak coverage make feature behavior inspectable. Capacity limits are explicit instead of guessed.

Status

dispergo is private alpha software. Interfaces may still change.

At this stage, we work with test partners to develop and validate Dispergo. If you would like to take part, email [email protected] with a short description of your use case.

The name

dispergo is Latin, first person singular: dis + spargere, I scatter apart, I distribute. The English word broadcast is the same construction: broad + cast, to scatter seed widely, a farmer's word long before it became an engineer's.

It is also valid Italian: io dispergo, I disperse. That makes the domain dispergo.io a complete sentence, written back to front. And yes, the name ends in go.