Το web περιβάλλον για το MediaMTX.
Δείτε ζωντανές ροές, περιηγηθείτε στις εγγραφές, επεξεργαστείτε κάθε κλειδί ρυθμίσεων — από τον browser σας.
🌍 Διαβάστε το σε 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 είναι εξαιρετικός streaming server χωρίς περιβάλλον χρήσης. Το Connect είναι το front-end που του λείπει: ένα container που μιλά με το API του MediaMTX και το μετατρέπει σε τοίχο καμερών, αρχείο εγγραφών και επεξεργαστή ρυθμίσεων.
Είναι συνοδοιπόρος, όχι αντικαταστάτης. Κάθε οθόνη πατά σε κάτι που το MediaMTX ήδη εκθέτει: ένα path, ένα endpoint, ένα hook runOn*, ένα πρωτόκολλο που σερβίρει το ίδιο. Δεν αποθηκεύει βίντεο, δεν κάνει proxy σε μέσα, δεν κρατά βάση δεδομένων.
Images πολλαπλών αρχιτεκτονικών (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 χρειάζεται api: yes στο mediamtx.yml σας. Η συμπεριλαμβανόμενη ρύθμιση δουλεύει ως έχει.
Κάθε path που γνωρίζει το MediaMTX, σε πλέγμα 2 έως 4 στηλών.
- WebRTC ή HLS, ανά κάρτα. Το
AUTOπέφτει σιωπηλά σε HLS, τοLOW-LATεπιμένει σε WebRTC και τοCOMPATεπιβάλλει HLS — και κάθε κάρτα αναφέρει τη μεταφορά που όντως πέτυχε. - Στιγμιότυπα σε αδράνεια. Μια εργασία παρασκηνίου κρατά ένα πρόσφατο καρέ σε κάθε κάρτα, με την ηλικία του πάνω στην ετικέτα.
- Ζωντανή τηλεμετρία. Codecs, αριθμός θεατών και χρόνος λειτουργίας, κατευθείαν από τη λίστα των path.
- Τίμια κατάσταση εγγραφής. Οι κάρτες δείχνουν αν μια ροή γράφει πραγματικά· μια κατάσταση που δεν μπόρεσε να διαβάσει το Connect λέγεται άγνωστη, ποτέ ανενεργή.
- URL δημοσίευσης στο πρόχειρο. RTSP, RTMP και SRT, χτισμένα από τις ίδιες τις διευθύνσεις ακρόασης του server.
- Τα MP4 κάθε ροής, ομαδοποιημένα ανά ημέρα, με αυτόματες μικρογραφίες.
- Ένα player που ξεδιπλώνεται επιτόπου, με αναζήτηση μέσω αιτημάτων HTTP Range.
- Λήψεις που ρέουν, με ζωντανή πρόοδο και ακύρωση.
- Πατήστε
/για φιλτράρισμα.
- Ολόκληρη η ρύθμιση του server — 65 χειριστήρια με τύπο και επικύρωση σε Logging, API, Hooks, RTSP, RTMP, HLS, WebRTC και SRT.
- Path defaults και παρακάμψεις ανά path, στα εύρη από τα οποία τα σερβίρει το MediaMTX. Η αποθήκευση μιας ροής που καλύπτεται από wildcard γράφει μια αραιή εγγραφή, οπότε τα κλειδιά που δεν αγγίξατε συνεχίζουν να κληρονομούν.
- Και τα 15 hooks
runOn*, με προειδοποίηση εκεί όπου η αποθήκευση επανεκκινεί το path. - Αραιές εγγραφές — μόνο τα κλειδιά που αλλάξατε.
Μία διεργασία για API, SPA και μέσα · πολλαπλές αρχιτεκτονικές · GET /health · δομημένα logs · PWA · φωτεινό και σκοτεινό · 30 γλώσσες · καμία βάση δεδομένων.
Σπέρνουν μόνο την πρώτη εκκίνηση. Τα υπόλοιπα παραμένουν επεξεργάσιμα από το Config.
| Μεταβλητή | Προεπιλογή | Σκοπός |
|---|---|---|
BACKEND_SERVER_MEDIAMTX_URL |
http://mediamtx |
Πού φτάνει το Connect το API του MediaMTX από μέσα από το container του |
MEDIAMTX_API_PORT |
9997 |
Θύρα του API του MediaMTX |
MEDIAMTX_RECORDINGS_DIR |
./recordings |
Διαδρομή host προσαρτημένη για εγγραφές (μόνο compose) |
MEDIAMTX_SCREENSHOTS_DIR |
/screenshots |
Πού αποθηκεύονται οι μικρογραφίες |
Το http://mediamtx επιλύεται μόνο στο δίκτυο του compose που περιλαμβάνεται — για αυτόνομο docker run, βάλτε τον δικό σας host.
Browser ──HLS / WebRTC (WHEP)──────────────────────────┐
│ │
│ oRPC (typed) ▼
▼ ┌──────────┐
┌─────────────────────┐ MediaMTX HTTP API │ MediaMTX │
│ mediamtx-connect │ ────────────────────────▶ │ server │
│ Hono API + React SPA│ └──────────┘
└─────────────────────┘ │
│ reads │ writes
▼ ▼
recordings/ + screenshots/ ◀──────────────────── MP4 segmentsΗ αναπαραγωγή πάει από τον browser στο MediaMTX. Το Connect μετακινεί μόνο JSON, συν τις εγγραφές και τις μικρογραφίες που διαβάζει από τον δίσκο.
| Δυνατότητες | Κάθε δυνατότητα, διαδρομή και διαδικασία που έχει κυκλοφορήσει |
| Αρχιτεκτονική | Πώς δένουν τα κομμάτια |
| Συνεισφορά | Στήσιμο ανάπτυξης, scripts, διαδικασία PR |
| Παραδείγματα | Κάμερα Raspberry Pi, πλαστές ροές για δοκιμές |
Τα issues και τα PR είναι ευπρόσδεκτα. Το pnpm install && pnpm dev σας δίνει ολόκληρο το stack με δοκιμαστικά δεδομένα — δείτε το CONTRIBUTING.md, και σημειώστε ότι οι τίτλοι των PR είναι conventional commits. Ακολουθούμε έναν Κώδικα Δεοντολογίας.