Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 8.1 KB

File metadata and controls

165 lines (125 loc) · 8.1 KB

MediaMTX Connect

L'interfaccia web per MediaMTX.
Guarda le dirette, sfoglia le registrazioni, modifica qualsiasi chiave di configurazione — dal browser.

CI Release Docker MIT

MediaMTX Connect — griglia delle dirette, archivio registrazioni ed editor di configurazione
🌍 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 • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা

Cos'è

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.

Avvio rapido

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

Parti da zero? Il compose incluso avvia entrambi:

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

Poi apri http://localhost:3000.

Important

Connect richiede api: yes nel tuo mediamtx.yml. La configurazione inclusa funziona così com'è.

Cosa ottieni

Vista live

Tutti i path noti a MediaMTX, in una griglia da 2 a 4 colonne.

  • WebRTC o HLS, per singola card. AUTO ripiega su HLS senza dirlo, LOW-LAT pretende WebRTC, COMPAT impone 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.

Registrazioni

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

Configurazione, senza YAML

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

Esercizio

Un solo processo per API, SPA e media · multi-arch · GET /health · log strutturati · PWA · chiaro e scuro · 30 lingue · nessun database.

Variabili d'ambiente

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.

Come funziona

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.

Documentazione

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

Contribuire

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.

Licenza

MIT