# Aufnahmen ## Aktive Aufnahmen ![Dashboard Übersicht](assets/img1_dashboard.png) Das Dashboard zeigt alle laufenden Aufnahmen mit: - Laufzeit - Dateigröße - Verbleibende Zeit (bei Zeitlimit) - Segment-Anzahl (bei Segment-Splitting) ## Letzte Aufnahmen Unterhalb der aktiven Aufnahmen zeigt das Dashboard die letzten abgeschlossenen Aufnahmen. Per Klick auf eine Aufnahme wird eine Detailansicht ausgeklappt mit: - **Status** — abgeschlossen, gestoppt oder Fehler (inkl. Fehlermeldung) - **Start- und Endzeit** - **Dauer und Dateigröße** - **Plik-URL** — Direkter Link zum Download, falls die Aufnahme zu Plik hochgeladen wurde - **Dateipfad** — Lokaler Pfad zur Aufnahmedatei (sofern nicht nach Upload gelöscht) - **Stream-URL** ## Aufnahme verlängern ![Aufnahme verlängern](assets/img5_rec.png) Laufende Aufnahmen können verlängert werden: - **+15 / +30 / +60 / +120 Minuten** — Schnellauswahl - **Eigene Dauer** — Beliebige Minutenzahl eingeben - **Unbegrenzt** — Zeitlimit komplett entfernen ## Aufnahme stoppen Über den **Stoppen**-Button im Dashboard. Die Aufnahme wird sauber beendet (SIGINT → ffmpeg finalisiert die Datei). ## Reconnect Bei Verbindungsabbrüchen versucht der Recorder automatisch, die Verbindung wiederherzustellen. Konfigurierbar über: - `recording.max_retries` — Maximale Versuche (Standard: 5) - `recording.retry_delay` — Wartezeit zwischen Versuchen (Standard: 5 Sekunden) Bei jedem Reconnect wird eine neue Datei angelegt, um Datenverlust zu vermeiden. ## Segment-Splitting Lange Aufnahmen können automatisch in Teile zerlegt werden. Die Segment-Dauer wird pro Job in Minuten konfiguriert. Beispiel: Bei 60 Minuten Segment-Dauer wird eine 3-stündige Aufnahme in 3 Dateien aufgeteilt: ``` Sendung_20260915_200000_seg000.mp4 Sendung_20260915_200000_seg001.mp4 Sendung_20260915_200000_seg002.mp4 ``` ## Ausgabeformate Das Format wird automatisch anhand des Stream-Typs gewählt: | Stream-Typ | Standard-Format | |------------|----------------| | RTMP, HLS, HTTP | mp4 | | MP3 | mp3 | | AAC | aac | | OGG | ogg | | FLAC | flac | Kann pro Job manuell überschrieben werden (z.B. `mkv`, `ts`). ## Speicherort Aufnahmen werden unter `data/recordings//` gespeichert (im Container: `/app/data/recordings/`). Der Pfad ist über `recording.download_path` konfigurierbar.