L'interfaccia web per MediaMTX.
Guarda le dirette, sfoglia le registrazioni, modifica qualsiasi chiave di configurazione — dal browser.
🌍 Leggilo in 30 lingue
🇺🇸 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 è un ottimo server di streaming senza interfaccia. Connect è il front-end che gli manca: un container che parla con l'API di MediaMTX e la trasforma in un muro di telecamere, un archivio di registrazioni e un editor di configurazione.
È un compagno, non un sostituto. Ogni schermata poggia su qualcosa che MediaMTX già espone: un path, un endpoint, un hook runOn*, un protocollo che serve nativamente. Nessun video archiviato, nessun media in proxy, nessun database.
Immagini multi-arch (linux/amd64, linux/arm64) — Docker scarica quella giusta.
MediaMTX è già attivo? Affianca Connect:
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:latestParti da zero? Il compose incluso avvia entrambi:
git clone https://github.com/bcanfield/mediamtx-connect.git
cd mediamtx-connect
docker compose up -dPoi apri http://localhost:3000.
Important
Connect richiede api: yes nel tuo mediamtx.yml. La configurazione inclusa funziona così com'è.
Tutti i path noti a MediaMTX, in una griglia da 2 a 4 colonne.
- WebRTC o HLS, per singola card.
AUTOripiega su HLS senza dirlo,LOW-LATpretende WebRTC,COMPATimpone HLS — e ogni card dichiara il trasporto che ha davvero ottenuto. - Istantanee anche da ferma. Un job in background tiene un fotogramma recente su ogni card, con la sua età sulla pill.
- Telemetria dal vivo. Codec, spettatori e uptime, direttamente dalla lista dei path.
- Stato di registrazione onesto. Le card mostrano se uno stream sta registrando davvero; uno stato che Connect non ha potuto leggere dice sconosciuto, mai spento.
- URL di pubblicazione negli appunti. RTSP, RTMP e SRT, costruiti dagli indirizzi di ascolto del server stesso.
- Gli MP4 di ogni stream, raggruppati per giorno, con miniature automatiche.
- Un player che si espande sul posto, navigabile via richieste HTTP Range.
- Download in streaming, con avanzamento dal vivo e annullamento.
- Premi
/per filtrare.
- Tutta la configurazione del server — 65 controlli tipizzati e validati tra Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC e SRT.
- Path defaults e override per path, sugli scope da cui MediaMTX li serve. Salvare uno stream coperto da wildcard scrive una voce sparsa, così le chiavi non toccate continuano a ereditare.
- Tutti e 15 gli hook
runOn*, con un avviso dove salvare riavvia il path. - Scritture sparse — solo le chiavi che hai cambiato.
Un solo processo per API, SPA e media · multi-arch · GET /health · log strutturati · PWA · chiaro e scuro · 30 lingue · nessun database.
Servono solo al primo avvio. Tutto resta modificabile da Config.
| Variabile | Default | A cosa serve |
|---|---|---|
BACKEND_SERVER_MEDIAMTX_URL |
http://mediamtx |
Dove Connect raggiunge l'API di MediaMTX dall'interno del suo container |
MEDIAMTX_API_PORT |
9997 |
Porta dell'API di MediaMTX |
MEDIAMTX_RECORDINGS_DIR |
./recordings |
Percorso host montato per le registrazioni (solo compose) |
MEDIAMTX_SCREENSHOTS_DIR |
/screenshots |
Dove vengono salvate le miniature |
http://mediamtx si risolve solo sulla rete del compose incluso — per un docker run autonomo, puntalo al tuo host.
Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
│ │
│ oRPC (typed) ▼
▼ ┌──────────┐
┌─────────────────────┐ MediaMTX HTTP API │ MediaMTX │
│ mediamtx-connect │ ────────────────────────▶ │ server │
│ Hono API + React SPA│ └──────────┘
└─────────────────────┘ │
│ reads │ writes
▼ ▼
recordings/ + screenshots/ ◀──────────────────── MP4 segments
La riproduzione va dal browser a MediaMTX. Connect muove solo JSON, più le registrazioni e le miniature che legge da disco.
| Funzionalità | Ogni capacità, rotta e procedura rilasciata |
| Architettura | Come si incastrano i pezzi |
| Contribuire | Ambiente di sviluppo, script, processo di PR |
| Esempi | Telecamera Raspberry Pi, stream finti per i test |
Issue e PR sono benvenute. pnpm install && pnpm dev ti dà lo stack completo con dati di esempio — vedi CONTRIBUTING.md, e nota che i titoli delle PR sono conventional commits. Seguiamo un Codice di Condotta.