Files
stream-recorder/docs/jobs.md
T
2026-09-07 13:44:25 +02:00

81 lines
2.8 KiB
Markdown

# 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 |
| `30m` | 30 Minuten |
| `1h` | 1 Stunde |
| `1h30m` | 90 Minuten |
| `48h` | 48 Stunden |
| `48h30m` | 48,5 Stunden |
| `2d` | 2 Tage |
| `1d12h` | 36 Stunden |
Formate lassen sich frei kombinieren: `d` (Tage), `h` (Stunden), `m` (Minuten), `s` (Sekunden).
## 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.