Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 8.05 KB

File metadata and controls

165 lines (125 loc) · 8.05 KB

MediaMTX Connect

De webinterface voor MediaMTX.
Bekijk livestreams, blader door opnames, bewerk elke configuratiesleutel — vanuit je browser.

CI Release Docker MIT

MediaMTX Connect — raster met livestreams, opnamebrowser en configuratie-editor
🌍 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 • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা

Wat het is

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.

Snel starten

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:latest

Begin je bij nul? De meegeleverde compose start beide:

git clone https://github.com/bcanfield/mediamtx-connect.git
cd mediamtx-connect
docker compose up -d

Open daarna http://localhost:3000.

Important

Connect heeft api: yes nodig in je mediamtx.yml. De meegeleverde configuratie werkt meteen.

Wat je krijgt

Liveweergave

Elk path dat MediaMTX kent, in een raster van 2 tot 4 kolommen.

  • WebRTC of HLS, per kaart. AUTO valt stilletjes terug op HLS, LOW-LAT staat op WebRTC, COMPAT dwingt 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.

Opnames

  • 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.

Configureren zonder YAML

  • 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.

Beheer

Eén proces voor API, SPA en media · multi-arch · GET /health · gestructureerde logs · PWA · licht en donker · 30 talen · geen database.

Omgevingsvariabelen

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.

Hoe het werkt

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.

Documentatie

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

Bijdragen

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.

Licentie

MIT