De webinterface voor MediaMTX.
Bekijk livestreams, blader door opnames, bewerk elke configuratiesleutel — vanuit je browser.
🌍 Lees dit in 30 talen
🇺🇸 English • 🇪🇸 Español • 🇨🇳 中文 • 🇮🇹 Italiano • 🇩🇪 Deutsch • 🇷🇺 Русский • 🇫🇷 Français • 🇵🇹 Português • 🇯🇵 日本語 • 🇵🇱 Polski • 🇰🇷 한국어 • 🇹🇷 Türkçe • 🇳🇱 Nederlands • 🇨🇿 Čeština • 🇹🇼 繁體中文 • 🇧🇷 Português (BR) • 🇮🇩 Bahasa Indonesia • 🇷🇴 Română • 🇸🇪 Svenska • 🇩🇰 Dansk • 🇳🇴 Norsk • 🇫🇮 Suomi • 🇬🇷 Ελληνικά • 🇭🇺 Magyar • 🇺🇦 Українська • 🇻🇳 Tiếng Việt • 🇵🇭 Tagalog • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা
MediaMTX is een uitstekende streamingserver zonder interface. Connect is de ontbrekende front-end: één container die met de MediaMTX-API praat en die omtovert tot een cameramuur, een opnamearchief en een configuratie-editor.
Het is een metgezel, geen vervanger. Elk scherm leunt op iets dat MediaMTX al blootlegt: een path, een API-endpoint, een runOn*-hook, een protocol dat het van huis uit serveert. Geen video bewaard, geen media geproxyd, geen database.
Multi-arch images (linux/amd64, linux/arm64) — Docker haalt de juiste op.
Draait MediaMTX al? Zet Connect ernaast:
docker run -d \
-p 3000:3000 \
-e BACKEND_SERVER_MEDIAMTX_URL=http://<your-mediamtx-host> \
-v /path/to/recordings:/recordings \
-v mediamtx-connect-data:/data \
bcanfield/mediamtx-connect:latestBegin je bij nul? De meegeleverde compose start beide:
git clone https://github.com/bcanfield/mediamtx-connect.git
cd mediamtx-connect
docker compose up -dOpen daarna http://localhost:3000.
Important
Connect heeft api: yes nodig in je mediamtx.yml. De meegeleverde configuratie werkt meteen.
Elk path dat MediaMTX kent, in een raster van 2 tot 4 kolommen.
- WebRTC of HLS, per kaart.
AUTOvalt stilletjes terug op HLS,LOW-LATstaat op WebRTC,COMPATdwingt HLS af — en elke kaart meldt het transport dat hij echt kreeg. - Snapshots bij stilstand. Een achtergrondtaak houdt op elke kaart een recent beeld bij, met de leeftijd ervan op het label.
- Live telemetrie. Codecs, aantal kijkers en uptime, rechtstreeks uit de path-lijst.
- Eerlijke opnamestatus. Kaarten tonen of een stream daadwerkelijk opneemt; een status die Connect niet kon lezen heet onbekend, nooit uit.
- Publicatie-URL's op het klembord. RTSP, RTMP en SRT, gebouwd uit de eigen luisteradressen van de server.
- De MP4's van elke stream, per dag gegroepeerd, met automatische thumbnails.
- Een speler die ter plekke uitklapt, doorzoekbaar via HTTP Range-requests.
- Downloads die streamen, met live voortgang en annuleren.
- Druk op
/om te filteren.
- De volledige serverconfiguratie — 65 getypeerde, gevalideerde besturingselementen over Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC en SRT.
- Path defaults en overrides per path, op de scopes waar MediaMTX ze vandaan serveert. Een stream onder een wildcard opslaan schrijft een spaarzame entry, zodat onaangeroerde sleutels blijven erven.
- Alle 15
runOn*-hooks, met een waarschuwing waar opslaan het path herstart. - Spaarzame writes — alleen de sleutels die je wijzigde.
Eén proces voor API, SPA en media · multi-arch · GET /health · gestructureerde logs · PWA · licht en donker · 30 talen · geen database.
Ze vullen alleen de eerste start. Daarna blijft alles aanpasbaar onder Config.
| Variabele | Standaard | Waarvoor |
|---|---|---|
BACKEND_SERVER_MEDIAMTX_URL |
http://mediamtx |
Waar Connect de MediaMTX-API bereikt vanuit binnen zijn container |
MEDIAMTX_API_PORT |
9997 |
Poort van de MediaMTX-API |
MEDIAMTX_RECORDINGS_DIR |
./recordings |
Hostpad dat voor opnames wordt gemount (alleen compose) |
MEDIAMTX_SCREENSHOTS_DIR |
/screenshots |
Waar thumbnails terechtkomen |
http://mediamtx lost alleen op binnen het netwerk van de meegeleverde compose — voor een losse docker run wijs je hem naar je eigen host.
Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
│ │
│ oRPC (typed) ▼
▼ ┌──────────┐
┌─────────────────────┐ MediaMTX HTTP API │ MediaMTX │
│ mediamtx-connect │ ────────────────────────▶ │ server │
│ Hono API + React SPA│ └──────────┘
└─────────────────────┘ │
│ reads │ writes
▼ ▼
recordings/ + screenshots/ ◀──────────────────── MP4 segments
Afspelen gaat van browser naar MediaMTX. Connect verplaatst alleen JSON, plus de opnames en thumbnails die het van schijf leest.
| Functies | Elke opgeleverde mogelijkheid, route en procedure |
| Architectuur | Hoe de onderdelen in elkaar passen |
| Bijdragen | Dev-setup, scripts, PR-proces |
| Voorbeelden | Raspberry Pi-camera, neppe streams om te testen |
Issues en PR's zijn welkom. pnpm install && pnpm dev geeft je de volledige stack met testdata — zie CONTRIBUTING.md, en let op: PR-titels zijn conventional commits. We volgen een Gedragscode.