# Job-Dateien Jeder Stream wird durch eine `.job`-Datei im `jobs/`-Verzeichnis definiert. Vorlagen befinden sich unter `jobs/templates/`. ## Job erstellen ### Interaktiv (empfohlen) ```bash ./stream-recorder.sh create ``` Das Script fragt Schritt für Schritt nach URL, Name, Typ, Segment-Splitting, Zeitplan und Plik-Upload und erstellt die Job-Datei automatisch. ### Aus Vorlage ```bash # Vorlage kopieren cp jobs/templates/example-rtmp.job.dist jobs/mein-stream.job # Anpassen nano jobs/mein-stream.job ``` Verfügbare Vorlagen: | Vorlage | Beschreibung | |----------------------------|-------------------------| | `example-rtmp.job.dist` | RTMP/RTMPS-Stream | | `example-hls.job.dist` | HLS/m3u8-Stream | | `example-mp3.job.dist` | HTTP-Audio (MP3/Radio) | ## Stream-Parameter | Parameter | Pflicht | Beschreibung | |----------------------|---------|-----------------------------------------------------| | `STREAM_NAME` | Ja | Name des Streams (wird für Dateinamen verwendet) | | `STREAM_URL` | Ja | URL des Streams | | `STREAM_TYPE` | Nein | `auto`, `rtmp`, `hls`, `mp3`, `aac`, `ogg`, `flac` | | `OUTPUT_FORMAT` | Nein | Dateiendung (z.B. `mp4`, `mp3`) — sonst automatisch | | `MAX_DURATION` | Nein | Aufnahmedauer (z.B. `1h`, `30m`, `1d12h`, `3600`) | | `EXTRA_FFMPEG_ARGS` | Nein | Zusätzliche ffmpeg-Parameter | | `SEGMENT_DURATION` | Nein | Segment-Splitting (z.B. `1h`, `2h`) — siehe [Segment-Splitting](segment-splitting.md) | | `PLIK_ENABLED` | Nein | Plik-Upload aktivieren (`true`/`false`) | | `DELETE_AFTER_UPLOAD` | Nein | Lokale Datei nach Upload löschen (`true`/`false`) | ### Dauerformate Die Dauer kann in verschiedenen Formaten angegeben werden: | Format | Bedeutung | |----------|------------------| | `3600` | 3600 Sekunden | | `1h` | 1 Stunde | | `30m` | 30 Minuten | | `1h30m` | 90 Minuten | | `2d` | 2 Tage | | `1d12h` | 36 Stunden | ## Job-Angabe beim Starten Der `record`-Befehl akzeptiert verschiedene Formate: ```bash ./stream-recorder.sh record jobs/mein-stream.job # Vollständiger Pfad ./stream-recorder.sh record mein-stream.job # Nur Dateiname ./stream-recorder.sh record mein-stream # Nur Job-Name (ohne .job) ``` ## Jobs anzeigen ```bash ./stream-recorder.sh list ``` Zeigt alle Jobs mit Stream-Typ, URL, Status, Zeitplan, Segment-Einstellungen und Plik-Konfiguration.