Skip to content

Latest commit

 

History

History
165 lines (125 loc) · 12.5 KB

File metadata and controls

165 lines (125 loc) · 12.5 KB

MediaMTX Connect

MediaMTX के लिए वेब UI।
लाइव स्ट्रीम देखें, रिकॉर्डिंग टटोलें, कोई भी कॉन्फ़िग कुंजी बदलें — अपने ब्राउज़र से।

CI Release Docker MIT

MediaMTX Connect — लाइव स्ट्रीम ग्रिड, रिकॉर्डिंग ब्राउज़र और कॉन्फ़िग संपादक
🌍 30 भाषाओं में पढ़ें

🇺🇸 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 एक बेहतरीन स्ट्रीमिंग सर्वर है, पर बिना किसी इंटरफ़ेस के। Connect वही छूटा हुआ फ्रंट-एंड है: एक कंटेनर जो MediaMTX के API से बात करता है और उसे कैमरा दीवार, रिकॉर्डिंग संग्रह और कॉन्फ़िग संपादक में बदल देता है।

यह साथी है, विकल्प नहीं। हर स्क्रीन उसी पर टिकी है जो MediaMTX पहले से खोलकर रखता है: कोई path, कोई API एंडपॉइंट, कोई runOn* हुक, कोई प्रोटोकॉल जिसे वह खुद परोसता है। न वीडियो रखता है, न मीडिया प्रॉक्सी करता है, न कोई डेटाबेस।

तेज़ शुरुआत

बहु-आर्किटेक्चर इमेज (linux/amd64, linux/arm64) — Docker सही वाली खुद खींच लेता है।

MediaMTX पहले से चल रहा है? 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

शून्य से शुरू कर रहे हैं? साथ आया compose दोनों खड़े कर देता है:

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

फिर http://localhost:3000 खोलिए।

Important

Connect को आपकी mediamtx.yml में api: yes चाहिए। साथ दी गई कॉन्फ़िगरेशन जैसी है वैसी ही चलती है।

आपको क्या मिलता है

लाइव दृश्य

MediaMTX जिन-जिन path को जानता है, 2 से 4 कॉलम की ग्रिड में।

  • हर कार्ड के लिए अलग: WebRTC या HLS। AUTO चुपचाप HLS पर उतर आता है, LOW-LAT WebRTC पर अड़ा रहता है, और COMPAT HLS थोप देता है — और हर कार्ड वही ट्रांसपोर्ट बताता है जो सचमुच मिला।
  • खाली बैठे भी स्नैपशॉट। एक पृष्ठभूमि काम हर कार्ड पर ताज़ा फ़्रेम बनाए रखता है, और उसकी उम्र लेबल पर रहती है।
  • जीवंत टेलीमेट्री। कोडेक, दर्शकों की संख्या और ऑनलाइन समय — सीधे path सूची से।
  • ईमानदार रिकॉर्डिंग स्थिति। कार्ड बताते हैं कि स्ट्रीम वास्तव में रिकॉर्ड हो रही है या नहीं; जो स्थिति Connect पढ़ न सका वह अज्ञात कहलाती है, बंद कभी नहीं।
  • पब्लिश URL सीधे क्लिपबोर्ड में। RTSP, RTMP और SRT, सर्वर के अपने लिसन पतों से बने।

रिकॉर्डिंग

  • हर स्ट्रीम की MP4 फ़ाइलें, दिन के हिसाब से समूहित, अपने आप बने थंबनेल के साथ।
  • वहीं खुल जाने वाला प्लेयर, HTTP Range अनुरोधों से आगे-पीछे सरकने वाला।
  • स्ट्रीम होते डाउनलोड, जीवंत प्रगति और रद्द करने के साथ।
  • छाँटने के लिए / दबाइए।

कॉन्फ़िगरेशन, बिना YAML

  • पूरा सर्वर कॉन्फ़िगरेशन — Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC और SRT में फैले 65 टाइप वाले, जाँचे हुए नियंत्रण।
  • path defaults और हर path के अपने ओवरराइड, उन्हीं दायरों पर जहाँ से MediaMTX उन्हें परोसता है। वाइल्डकार्ड से ढकी स्ट्रीम सहेजने पर एक विरल प्रविष्टि लिखी जाती है, इसलिए बिना छुई कुंजियाँ विरासत में मिलती रहती हैं।
  • सभी 15 runOn* हुक, और जहाँ सहेजने से path दोबारा शुरू होता है वहाँ चेतावनी।
  • विरल लेखन — सिर्फ़ वही कुंजियाँ जो आपने बदलीं।

संचालन

API, SPA और मीडिया के लिए एक ही प्रक्रिया · बहु-आर्किटेक्चर · GET /health · संरचित लॉग · PWA · हल्की और गहरी · 30 भाषाएँ · कोई डेटाबेस नहीं।

एनवायरनमेंट वेरिएबल

ये सिर्फ़ पहले बूट की नींव रखते हैं। बाकी सब Config में बदला जा सकता है।

वेरिएबल डिफ़ॉल्ट किसलिए
BACKEND_SERVER_MEDIAMTX_URL http://mediamtx Connect अपने कंटेनर के भीतर से MediaMTX API तक कहाँ पहुँचता है
MEDIAMTX_API_PORT 9997 MediaMTX API का पोर्ट
MEDIAMTX_RECORDINGS_DIR ./recordings रिकॉर्डिंग के लिए माउंट किया गया होस्ट पथ (सिर्फ़ compose)
MEDIAMTX_SCREENSHOTS_DIR /screenshots थंबनेल कहाँ रखे जाते हैं

http://mediamtx सिर्फ़ साथ आए compose के नेटवर्क पर हल होता है — अलग से docker run कर रहे हों तो इसे अपने होस्ट पर सेट कीजिए।

यह काम कैसे करता है

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

प्लेबैक ब्राउज़र से MediaMTX तक जाता है। Connect सिर्फ़ JSON ढोता है, और उसके साथ डिस्क से पढ़ी गई रिकॉर्डिंग व थंबनेल।

दस्तावेज़

विशेषताएँ जारी हो चुकी हर क्षमता, रूट और प्रक्रिया
आर्किटेक्चर टुकड़े आपस में कैसे बैठते हैं
योगदान डेव सेटअप, स्क्रिप्ट, PR प्रक्रिया
उदाहरण Raspberry Pi कैमरा, परीक्षण के लिए नकली स्ट्रीम

योगदान

इशू और PR का स्वागत है। pnpm install && pnpm dev आपको नमूना डेटा समेत पूरा स्टैक दे देता है — बाकी के लिए CONTRIBUTING.md देखिए, और PR के शीर्षक conventional commits होते हैं। हम एक आचार संहिता का पालन करते हैं।

लाइसेंस

MIT