Files
stream-recorder/docs/segment-splitting.md
T

2.1 KiB

Segment-Splitting

Lange Aufnahmen (z.B. 8-Stunden-Streams) können automatisch in kleinere Dateien geteilt werden. Jedes Segment wird einzeln nach Plik hochgeladen, sobald es fertig ist.

Einrichtung

In der Job-Datei SEGMENT_DURATION setzen:

# Aufnahme alle 2 Stunden teilen
SEGMENT_DURATION="2h"

# Plik-Upload aktivieren (empfohlen)
PLIK_ENABLED=true

Dauerformate

Format Bedeutung
30m Alle 30 Minuten
1h Stündlich
2h Alle 2 Stunden
3600 3600 Sekunden

So funktioniert's

  1. ffmpeg teilt die Aufnahme automatisch in Segmente der angegebenen Länge
  2. Ein Hintergrund-Prozess prüft alle 60 Sekunden auf fertige Segmente
  3. Fertige Segmente werden sofort nach Plik hochgeladen (falls aktiviert)
  4. Beim Beenden (regulär oder per stop) wird das letzte Segment noch hochgeladen

Dateinamen

Segmente erhalten fortlaufende Nummern:

Mein-Stream_20260907_200000_seg000.mp4
Mein-Stream_20260907_200000_seg001.mp4
Mein-Stream_20260907_200000_seg002.mp4

Kombination mit Plik

Segment-Splitting ist besonders nützlich in Kombination mit Plik-Upload:

SEGMENT_DURATION="1h"
PLIK_ENABLED=true
DELETE_AFTER_UPLOAD=true    # Lokale Segmente nach Upload löschen

So wird jede Stunde ein Segment hochgeladen und lokal gelöscht. Das spart Speicherplatz bei langen Aufnahmen.

Kombination mit Zeitplanung

Segment-Splitting und Zeitplanung lassen sich kombinieren:

SCHEDULE_ENABLED=true
SCHEDULE_DAYS="*"
SCHEDULE_START="08:00"
SCHEDULE_STOP="20:00"
SEGMENT_DURATION="2h"
PLIK_ENABLED=true

Die 12-Stunden-Aufnahme wird in 6 Segmente zu je 2 Stunden geteilt, jedes wird nach Fertigstellung hochgeladen.

Verhalten bei Reconnect

Wenn die Verbindung abbricht und wiederhergestellt wird, werden die bisherigen Segmente hochgeladen und eine neue Segment-Serie mit neuem Zeitstempel begonnen.

Status

Mit ./stream-recorder.sh status werden bei segmentierten Aufnahmen die Anzahl der Segmente und die Gesamtgröße angezeigt.