Files
horror/mediamtx/mediamtx.yml
2026-09-30 01:24:49 +02:00

66 lines
1.9 KiB
YAML

logLevel: info
# Low-Latency-HLS: 1s-Segmente aus 200ms-Teilen. Der Player hält damit
# zuverlässig 4 Sekunden Abstand zur Live-Kante.
hls: yes
hlsAddress: :8890
hlsVariant: lowLatency
hlsSegmentCount: 7
hlsSegmentDuration: 1s
hlsPartDuration: 200ms
# Die Seite reicht den Stream unter eigenem Ursprung durch
hlsAllowOrigins: ['*']
# Ohne das baut MediaMTX den Muxer erst auf, wenn der erste Zuschauer
# fragt — und reißt ihn 60s nach dem letzten wieder ab. Jeder Neuaufbau
# setzt die Zeitbasis zurück; wer dazukommt, während gerade keiner schaut,
# wartet auf den Aufbau. Durchlaufend sehen alle dieselbe Stelle.
hlsAlwaysRemux: yes
rtmp: yes
rtmpAddress: :1935
# Liefert Zeitbereiche der Aufnahme als MP4 — daraus schneidet die App
# die Clips. Nur intern erreichbar, nicht nach außen geöffnet.
playback: yes
playbackAddress: :9996
# Über die API löscht der Host alte Aufnahmen — Segment für Segment.
# Auch nur intern erreichbar; Zugang hat nur der Sender-Nutzer unten.
api: yes
apiAddress: :9997
# Nicht gebraucht, also zu
webrtc: no
rtsp: no
srt: no
# Senden nur mit Passwort — sonst könnte jeder auf den Server streamen,
# der Port 1935 erreicht. Das Passwort kommt aus der Umgebung:
# MTX_AUTHINTERNALUSERS_0_PASS, gesetzt über die .env.
authInternalUsers:
- user: sender
pass: bitte-ueberschreiben
ips: []
permissions:
- action: publish
- action: api
- user: any
pass:
ips: []
permissions:
- action: read
# Ausschnitte der Aufnahme holen — der Port ist nur intern erreichbar
- action: playback
paths:
filmabend:
# Der Abend wird mitgeschnitten, ohne Neukodierung, in 30-Sekunden-
# Segmenten. Kurze Segmente, damit ein Clip kurz nach der Marke schon
# geschnitten werden kann. Gelöscht wird nichts von selbst.
record: yes
recordPath: /recordings/%path/%Y-%m-%d_%H-%M-%S-%f
recordFormat: fmp4
recordSegmentDuration: 30s
recordDeleteAfter: 0s