Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 8.06 KB

File metadata and controls

165 lines (125 loc) · 8.06 KB

MediaMTX Connect

Interfejs webowy dla MediaMTX.
Oglądaj transmisje na żywo, przeglądaj nagrania, edytuj każdy klucz konfiguracji — z przeglądarki.

CI Release Docker MIT

MediaMTX Connect — siatka transmisji na żywo, przeglądarka nagrań i edytor konfiguracji
🌍 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 • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা

Czym to jest

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.

Szybki start

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

Zaczynasz od zera? Dołączony compose uruchamia oba:

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

Następnie otwórz http://localhost:3000.

Important

Connect potrzebuje api: yes w twoim mediamtx.yml. Dołączona konfiguracja działa bez zmian.

Co dostajesz

Podgląd na żywo

Wszystkie path, które zna MediaMTX, w siatce 2–4 kolumn.

  • WebRTC albo HLS, dla każdej karty. AUTO po cichu schodzi do HLS, LOW-LAT wymaga WebRTC, COMPAT wymusza 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.

Nagrania

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

Konfiguracja bez YAML-a

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

Utrzymanie

Jeden proces na API, SPA i media · wieloarchitekturowość · GET /health · logi strukturalne · PWA · jasny i ciemny · 30 języków · bez bazy danych.

Zmienne środowiskowe

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.

Jak to działa

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

Odtwarzanie idzie z przeglądarki do MediaMTX. Connect przenosi tylko JSON oraz nagrania i miniatury czytane z dysku.

Dokumentacja

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

Współtworzenie

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.

Licencja

MIT