Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 8.08 KB

File metadata and controls

165 lines (125 loc) · 8.08 KB

MediaMTX Connect

Webbgränssnittet för MediaMTX.
Titta på direktsändningar, bläddra bland inspelningar, redigera vilken konfigurationsnyckel som helst — från webbläsaren.

CI Release Docker MIT

MediaMTX Connect — rutnät med direktsändningar, inspelningsbläddrare och konfigurationsredigerare
🌍 Läs på 30 språk

🇺🇸 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 • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা

Vad det är

MediaMTX är en utmärkt streamingserver utan gränssnitt. Connect är den saknade frontenden: en container som pratar med MediaMTX API och gör om det till en kameravägg, ett inspelningsarkiv och en konfigurationsredigerare.

Det är en följeslagare, inte en ersättare. Varje vy vilar på något MediaMTX redan exponerar: en path, en API-endpoint, en runOn*-hook, ett protokoll den serverar av egen kraft. Ingen video lagras, inga medier proxas, ingen databas.

Snabbstart

Multiarkitektur-avbildningar (linux/amd64, linux/arm64) — Docker hämtar rätt.

Kör du redan MediaMTX? Ställ Connect bredvid:

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

Börjar du från noll? Den medföljande compose-filen startar båda:

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

Öppna sedan http://localhost:3000.

Important

Connect behöver api: yes i din mediamtx.yml. Den medföljande konfigurationen fungerar som den är.

Vad du får

Direktvy

Varje path MediaMTX känner till, i ett rutnät med 2 till 4 kolumner.

  • WebRTC eller HLS, per kort. AUTO faller tyst tillbaka på HLS, LOW-LAT kräver WebRTC, COMPAT tvingar fram HLS — och varje kort rapporterar den transport det faktiskt fick.
  • Stillbilder även i vila. Ett bakgrundsjobb håller en färsk bildruta på varje kort, med dess ålder på etiketten.
  • Live-telemetri. Codecar, antal tittare och drifttid, direkt ur path-listan.
  • Ärlig inspelningsstatus. Korten visar om en ström faktiskt spelar in; en status Connect inte kunde läsa kallas okänd, aldrig av.
  • Publiceringsadresser till urklipp. RTSP, RTMP och SRT, byggda av serverns egna lyssnaradresser.

Inspelningar

  • Varje ströms MP4-filer, grupperade per dag, med automatiska miniatyrer.
  • En spelare som fälls ut på plats, spolbar via HTTP Range-anrop.
  • Nedladdningar som strömmar, med förlopp i realtid och avbryt.
  • Tryck / för att filtrera.

Konfiguration, utan YAML

  • Hela serverkonfigurationen — 65 typade, validerade kontroller över Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC och SRT.
  • Path defaults och overrides per path, på de scope MediaMTX serverar dem från. Att spara en ström som täcks av ett jokertecken skriver en gles post, så orörda nycklar fortsätter ärva.
  • Alla 15 runOn*-hooks, med varning där ett sparande startar om path:en.
  • Glesa skrivningar — bara de nycklar du ändrat.

Drift

En process för API, SPA och media · multiarkitektur · GET /health · strukturerade loggar · PWA · ljust och mörkt · 30 språk · ingen databas.

Miljövariabler

De sår bara den allra första starten. Resten går att ändra i Config.

Variabel Standard Syfte
BACKEND_SERVER_MEDIAMTX_URL http://mediamtx Var Connect når MediaMTX API inifrån sin container
MEDIAMTX_API_PORT 9997 Port för MediaMTX API
MEDIAMTX_RECORDINGS_DIR ./recordings Värdsökväg som monteras för inspelningar (endast compose)
MEDIAMTX_SCREENSHOTS_DIR /screenshots Var miniatyrer hamnar

http://mediamtx går bara att slå upp i nätverket för den medföljande compose-filen — för en fristående docker run, peka den mot din värd.

Så fungerar det

Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
   │                                                   │
   │ oRPC (typed)                                      ▼
   ▼                                              ┌──────────┐
┌─────────────────────┐    MediaMTX HTTP API      │ MediaMTX │
│ mediamtx-connect    │ ────────────────────────▶ │  server  │
│ Hono API + React SPA│                           └──────────┘
└─────────────────────┘                                │
   │ reads                                             │ writes
   ▼                                                   ▼
recordings/ + screenshots/  ◀────────────────────  MP4 segments

Uppspelningen går från webbläsaren till MediaMTX. Connect flyttar bara JSON, plus inspelningarna och miniatyrerna den läser från disk.

Dokumentation

Funktioner Varje levererad förmåga, rutt och procedur
Arkitektur Hur delarna hänger ihop
Bidra Utvecklingsmiljö, skript, PR-process
Exempel Raspberry Pi-kamera, fejkade strömmar för test

Bidra

Issues och PR:er är välkomna. pnpm install && pnpm dev ger dig hela stacken med testdata — se CONTRIBUTING.md, och notera att PR-titlar är conventional commits. Vi följer en uppförandekod.

Licens

MIT