Interfejs webowy dla MediaMTX.
Oglądaj transmisje na żywo, przeglądaj nagrania, edytuj każdy klucz konfiguracji — z przeglądarki.
🌍 Czytaj w 30 językach
🇺🇸 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 to świetny serwer streamingowy bez interfejsu. Connect to brakujący front-end: jeden kontener, który rozmawia z API MediaMTX i zamienia je w ścianę kamer, archiwum nagrań i edytor konfiguracji.
To towarzysz, nie zamiennik. Każdy ekran opiera się na czymś, co MediaMTX już udostępnia: na path, endpoincie API, hooku runOn*, protokole serwowanym natywnie. Nie przechowuje wideo, nie pośredniczy w mediach, nie ma bazy danych.
Obrazy wieloarchitekturowe (linux/amd64, linux/arm64) — Docker pobierze właściwy.
MediaMTX już działa? Dostaw Connect obok:
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:latestZaczynasz od zera? Dołączony compose uruchamia oba:
git clone https://github.com/bcanfield/mediamtx-connect.git
cd mediamtx-connect
docker compose up -dNastępnie otwórz http://localhost:3000.
Important
Connect potrzebuje api: yes w twoim mediamtx.yml. Dołączona konfiguracja działa bez zmian.
Wszystkie path, które zna MediaMTX, w siatce 2–4 kolumn.
- WebRTC albo HLS, dla każdej karty.
AUTOpo cichu schodzi do HLS,LOW-LATwymaga WebRTC,COMPATwymusza HLS — a każda karta pokazuje transport, który faktycznie dostała. - Zrzuty w bezczynności. Zadanie w tle trzyma na każdej karcie świeżą klatkę, a jej wiek widnieje na plakietce.
- Telemetria na żywo. Kodeki, liczba widzów i czas online, prosto z listy path.
- Uczciwy stan nagrywania. Karty pokazują, czy strumień nagrywa faktycznie; stanu, którego Connect nie odczytał, nie nazywa wyłączonym, tylko nieznanym.
- Adresy publikacji do schowka. RTSP, RTMP i SRT, budowane z adresów nasłuchu samego serwera.
- Pliki MP4 każdego strumienia, pogrupowane dniami, z automatycznymi miniaturami.
- Odtwarzacz rozwijany w miejscu, przewijalny dzięki żądaniom HTTP Range.
- Pobieranie strumieniowe, z postępem na żywo i anulowaniem.
- Naciśnij
/, aby filtrować.
- Cała konfiguracja serwera — 65 typowanych i walidowanych kontrolek w Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC i SRT.
- Path defaults i nadpisania per path, w zakresach, z których MediaMTX je serwuje. Zapis strumienia objętego wildcardem tworzy rzadki wpis, więc nietknięte klucze dalej dziedziczą.
- Wszystkie 15 hooków
runOn*, z ostrzeżeniem tam, gdzie zapis restartuje path. - Rzadkie zapisy — tylko zmienione klucze.
Jeden proces na API, SPA i media · wieloarchitekturowość · GET /health · logi strukturalne · PWA · jasny i ciemny · 30 języków · bez bazy danych.
Zasilają tylko pierwszy start. Reszta zostaje edytowalna w Config.
| Zmienna | Domyślnie | Do czego służy |
|---|---|---|
BACKEND_SERVER_MEDIAMTX_URL |
http://mediamtx |
Gdzie Connect sięga po API MediaMTX z wnętrza swojego kontenera |
MEDIAMTX_API_PORT |
9997 |
Port API MediaMTX |
MEDIAMTX_RECORDINGS_DIR |
./recordings |
Ścieżka hosta montowana pod nagrania (tylko compose) |
MEDIAMTX_SCREENSHOTS_DIR |
/screenshots |
Gdzie trafiają miniatury |
http://mediamtx rozwiązuje się tylko w sieci dołączonego compose — przy samodzielnym docker run wskaż własny host.
Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
│ │
│ oRPC (typed) ▼
▼ ┌──────────┐
┌─────────────────────┐ MediaMTX HTTP API │ MediaMTX │
│ mediamtx-connect │ ────────────────────────▶ │ server │
│ Hono API + React SPA│ └──────────┘
└─────────────────────┘ │
│ reads │ writes
▼ ▼
recordings/ + screenshots/ ◀──────────────────── MP4 segmentsOdtwarzanie idzie z przeglądarki do MediaMTX. Connect przenosi tylko JSON oraz nagrania i miniatury czytane z dysku.
| Funkcje | Wszystkie wydane możliwości, trasy i procedury |
| Architektura | Jak elementy do siebie pasują |
| Współtworzenie | Środowisko dev, skrypty, proces PR |
| Przykłady | Kamera Raspberry Pi, sztuczne strumienie do testów |
Zgłoszenia i PR-y mile widziane. pnpm install && pnpm dev stawia pełny stos z danymi testowymi — reszta w CONTRIBUTING.md, a tytuły PR-ów to conventional commits. Przestrzegamy Kodeksu postępowania.