Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 8.52 KB

File metadata and controls

165 lines (125 loc) · 8.52 KB

MediaMTX Connect

Ang web UI para sa MediaMTX.
Manood ng live na stream, mag-browse ng mga recording, i-edit ang kahit anong config key — mula sa browser mo.

CI Release Docker MIT

MediaMTX Connect — grid ng live na stream, browser ng recording, at editor ng configuration
🌍 Basahin sa 30 wika

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

Ano ito

Napakagaling na streaming server ang MediaMTX, pero walang kasamang interface. Ang Connect ang nawawalang front-end: isang container na kausap ang API ng MediaMTX at ginagawa itong pader ng kamera, imbakan ng recording, at editor ng configuration.

Kasama ito, hindi kapalit. Bawat screen ay nakasandal sa isang bagay na inilalantad na ng MediaMTX: isang path, isang API endpoint, isang runOn* hook, isang protocol na siya mismo ang naghahain. Walang iniimbak na video, walang pinoproxy na media, walang database.

Mabilisang simula

Mga multi-arch na image (linux/amd64, linux/arm64) — ang Docker na ang kukuha ng tama.

Tumatakbo na ang MediaMTX? Itabi mo lang ang 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

Wala pang kahit ano? Sabay itinataas ng kasamang compose ang dalawa:

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

Pagkatapos ay buksan ang http://localhost:3000.

Important

Kailangan ng Connect ang api: yes sa mediamtx.yml mo. Gumagana agad ang kasamang configuration.

Ano ang makukuha mo

Live na tanawin

Bawat path na kilala ng MediaMTX, sa grid na 2 hanggang 4 na hanay.

  • WebRTC o HLS, bawat card. Tahimik na bumabagsak sa HLS ang AUTO, ipinipilit ng LOW-LAT ang WebRTC, at pinipilit ng COMPAT ang HLS — at iniuulat ng bawat card ang transport na talagang nakuha nito.
  • May snapshot kahit tahimik. May background job na nagtatago ng sariwang frame sa bawat card, kasama ang edad nito sa pill.
  • Live na telemetry. Mga codec, bilang ng manonood, at oras na nakaonline, diretso mula sa listahan ng path.
  • Tapat na katayuan ng recording. Ipinapakita ng mga card kung talagang nagre-record ang isang stream; ang katayuang hindi nabasa ng Connect ay tinatawag na hindi tiyak, hindi kailanman naka-off.
  • Mga publish URL sa clipboard. RTSP, RTMP, at SRT, binuo mula sa sariling listen address ng server.

Mga recording

  • Ang mga MP4 ng bawat stream, nakagrupo kada araw, may awtomatikong thumbnail.
  • Isang player na bumubukas sa mismong lugar nito, masusundan gamit ang mga HTTP Range request.
  • Mga download na dumadaloy, may live na progreso at pagkansela.
  • Pindutin ang / para mag-filter.

Configuration, walang YAML

  • Ang buong configuration ng server — 65 kontrol na may tipo at na-validate sa Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC, at SRT.
  • Path defaults at override kada path, sa mismong saklaw kung saan ito inihahain ng MediaMTX. Ang pag-save ng stream na sakop ng wildcard ay sumusulat ng payak na entry, kaya patuloy na nagmamana ang mga key na hindi mo ginalaw.
  • Lahat ng 15 runOn* hook, may babala kung saan nagre-restart ng path ang pag-save.
  • Payak na pagsulat — ang mga key lang na binago mo.

Operasyon

Iisang proseso para sa API, SPA, at media · multi-arch · GET /health · nakabalangkas na log · PWA · maliwanag at madilim · 30 wika · walang database.

Mga environment variable

Para lang ito sa unang boot. Ang iba ay nananatiling nababago sa ilalim ng Config.

Variable Default Layunin
BACKEND_SERVER_MEDIAMTX_URL http://mediamtx Kung saan naaabot ng Connect ang MediaMTX API mula sa loob ng container nito
MEDIAMTX_API_PORT 9997 Port ng MediaMTX API
MEDIAMTX_RECORDINGS_DIR ./recordings Path sa host na naka-mount para sa mga recording (compose lang)
MEDIAMTX_SCREENSHOTS_DIR /screenshots Kung saan itinatago ang mga thumbnail

Ang http://mediamtx ay nareresolba lang sa network ng kasamang compose — para sa nag-iisang docker run, ituro ito sa sarili mong host.

Paano ito gumagana

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

Mula sa browser patungong MediaMTX ang playback. JSON lang ang inililipat ng Connect, saka ang mga recording at thumbnail na binabasa nito sa disk.

Dokumentasyon

Mga tampok Bawat kakayahan, ruta, at procedure na nailabas na
Arkitektura Kung paano nagkakasya ang mga piyesa
Pag-ambag Setup sa dev, mga script, proseso ng PR
Mga halimbawa Kamera sa Raspberry Pi, pekeng stream para sa pagsubok

Pag-ambag

Malugod na tinatanggap ang mga issue at PR. Ang pnpm install && pnpm dev ay nagbibigay ng buong stack na may seeded na datos — tingnan ang CONTRIBUTING.md, at tandaan na ang mga pamagat ng PR ay conventional commits. Sinusunod namin ang isang Code of Conduct.

Lisensya

MIT