product · mediamesh · orientation
What is MediaMesh?
Most streaming platforms want you to trust a dashboard and stop asking questions. You pick some presets, click go, and hope the black box on the other end is doing something reasonable with your signal. If it isn’t, you get a support ticket queue and a status page that says “investigating.”
MediaMesh is a broadcast console built on the opposite premise: you should be able to see exactly what your stream is doing, because what you built on the canvas is what’s running — not an abstraction of it.
The canvas is the source of truth
The core interaction is a visual Builder: you wire together nodes — sources, filters, outputs — into a graph. That’s not a mockup of a pipeline. It’s the pipeline.
Under the hood, MediaMesh is built on Liquidsoap, an open-source scripting language purpose-built for streaming audio and video — pulling from files, live inputs, or URLs, transforming the signal, and pushing it out to HLS, RTMP, SRT, RIST, NDI, Icecast, or plain files, continuously, without dropping the stream when a source hiccups.
We didn’t reinvent any of that, and we’re not interested in hiding it from you either:
- You build a graph visually in the Builder.
- MediaMesh compiles that graph into a real
.liqscript. - MediaMesh starts a Liquidsoap process running that script.
- That process is your channel, live.
You’ll probably never hand-write .liq. But every node you drag onto the canvas is choosing and wiring the same building blocks Liquidsoap itself exposes. If you get deep enough to hit a compile error, it’s the underlying language telling you something real — not a proprietary error code standing between you and an answer.
A channel is a process, not a slot in someone else’s scheduler
A channel in MediaMesh is three concrete things:
- A graph — the node wiring you built.
- A compiled script — generated straight from that graph.
- A running process — one per channel, not a shared engine.
That last point is deliberate, not an implementation detail we’re apologizing for. Liquisoap’s global settings — things like video frame size — are locked per-process. Giving every channel its own process is what lets you run different channels at different resolutions and settings simultaneously, without one channel’s configuration bleeding into another’s.
Start a channel, and its process spins up. Stop it, and the process dies. Nothing runs that you can’t account for.
Why this matters
Plenty of platforms will happily take your stream and give you a URL back. Fewer will show you the actual graph, the actual compiled output, and the actual process behind it — because once you can see it, you stop needing them to hold your hand, and you stop being locked into whatever their roadmap decides to prioritize next.
MediaMesh is built for the operators who’d rather understand their pipeline than trust someone else’s opaque one. If that’s you, the Builder canvas is where to start.