Product

MediaMesh

The control plane for your content and personal information. Build channels on a canvas instead of hand-writing .liq for Liquidsoap by hand, type-check them against the real compiler, run them as processes, and ship HLS, SRT, RIST, RTMP, or NDI out the other end — on infrastructure you run, not a platform you rent.

Visual builder

Wire operators together on a canvas — sixteen starter templates, or a guided wizard from zero to a running channel.

Compiles before it saves

Every graph renders to real Liquidsoap source and runs through the actual compiler. Nothing reaches disk unless it type-checks.

Generated palette

The operator list isn't hand-maintained — it's pulled straight from Liquidsoap's own function signatures, so it never drifts from what the compiler actually supports.

Process-isolated channels

Each running channel is its own OS process. One crashing never takes another down, and a dead process drops off the list on its own.

External sources, not just local media

Loop a remote HTTPS file forever, or relay an existing HLS stream as your own output — the same graph either way.

HTTP API, no lock-in

Start, stop, and inspect channels over a plain HTTP API. Nothing about the control plane requires the Builder UI to operate it.

The Builder

A channel graph wired from a template — logo and text overlays into an FFmpeg encoder into HLS output — type-checked and running. The generated Liquidsoap source, compiled and verified, right next to the canvas that produced it.

MediaMesh Builder canvas showing a wired channel graph next to its compiled Liquidsoap source

Outputs

Ship it wherever it needs to go.

One graph, any destination — mix and match per channel.

HLS
Play anywhere a browser or video element can point a URL.
SRT
Push to a remote SRT listener or caller.
RIST
Reliable Internet Stream Transport, for lossy links.
RTMP
Feed directly into OBS or vMix.
NDI
Hand off uncompressed to an NDI-aware receiver on the same network.

Channel kinds

Three roots, one namespace.

They differ only in where the script comes from — once running, identical.

authored
A .liq file you wrote by hand, dropped into the channel directory.
example
Runs against a generated playlist — re-randomizes its clip selection on every start.
built
Rendered straight from a Builder graph. Once running, identical to the other two.

The palette

Every category of operator, generated from the compiler itself.

SourcesPlaylist, request queue, sine tone, test pattern
InputsBrowser, FFmpeg (RIST/SRT/RTMP/HTTP), HLS, SRT
SwitchingAdd, fallback, random, switch, strip
VideoImage overlay, text overlay, raw decode/encode
AudioBass boost, compressor, crossfade, echo, fades
EncodersFFmpeg, MP3, NDI, Vorbis, audio/video track
OutputsHLS, Icecast, NDI, SRT, RIST/RTMP URL, dummy