Sicherheits-Härtung und Bugfixes
This commit is contained in:
+35
-3
@@ -13,7 +13,7 @@ Im Web-UI unter **Jobs → + Neuer Job**.
|
||||
| Feld | Beschreibung |
|
||||
|------|-------------|
|
||||
| **Name** | Eindeutiger Name (wird als Ordnername verwendet) |
|
||||
| **Stream-URL** | URL des Streams (RTMP, HLS, HTTP, etc.) |
|
||||
| **Stream-URL** | URL des Streams. Erlaubt: `http`, `https`, `rtmp`, `rtmps`, `rtsp`, `rtsps` |
|
||||
|
||||
### Optionale Felder
|
||||
|
||||
@@ -25,7 +25,39 @@ Im Web-UI unter **Jobs → + Neuer Job**.
|
||||
| **Ausgabeformat** | Dateiendung. Leer = automatisch (mp4 für Video, mp3 für Audio) |
|
||||
| **Max. Dauer** | Zeitlimit in Minuten. Entfällt bei Zeitplan mit Endzeit |
|
||||
| **Segment-Dauer** | Aufnahme in Teile zerlegen (Minuten pro Segment) |
|
||||
| **Extra ffmpeg Argumente** | Zusätzliche ffmpeg-Parameter (z.B. `-b:a 192k`) |
|
||||
| **Extra ffmpeg Argumente** | Zusätzliche ffmpeg-Parameter (z.B. `-b:a 192k`), siehe [Extra ffmpeg-Argumente](#extra-ffmpeg-argumente) |
|
||||
|
||||
## Extra ffmpeg-Argumente
|
||||
|
||||
Aus Sicherheitsgründen sind nur bestimmte ffmpeg-Optionen erlaubt. Alles andere wird mit einer Fehlermeldung abgelehnt.
|
||||
|
||||
| Art | Erlaubte Optionen |
|
||||
|-----|-------------------|
|
||||
| Ohne Wert | `-vn` `-an` `-sn` `-dn` `-shortest` `-copyts` |
|
||||
| Mit einem Wert | `-c` `-c:a` `-c:v` `-codec` `-codec:a` `-codec:v` `-acodec` `-vcodec` `-b:a` `-b:v` `-ar` `-ac` `-map` `-metadata` `-metadata:s:a` `-t` `-to` `-q:a` `-aq` `-af` `-filter:a` `-bsf:a` `-bsf:v` `-f` `-movflags` `-segment_format` `-fflags` `-avoid_negative_ts` `-max_muxing_queue_size` |
|
||||
|
||||
Audiofilter (`-af`, `-filter:a`) dürfen keine Quellen wie `movie`, `amovie`, `sendcmd`, `zmq` oder Dateien verwenden. ffmpeg läuft zudem mit einer Protokoll-Whitelist, lokale Dateien können nicht als Eingabe gelesen werden.
|
||||
|
||||
Beispiele:
|
||||
|
||||
```
|
||||
-b:a 192k -ar 44100
|
||||
-c:a libmp3lame -q:a 2
|
||||
-af loudnorm -metadata title="Meine Sendung"
|
||||
```
|
||||
|
||||
## Validierung
|
||||
|
||||
| Feld | Regel |
|
||||
|------|-------|
|
||||
| **Startzeit / Endzeit** | Format `HH:MM` |
|
||||
| **Startdatum / Enddatum** | Format `YYYY-MM-DD` |
|
||||
| **Tage** | `*` oder Liste/Bereiche wie `Mo-Fr,So` (siehe [Tage-Syntax](#tage-syntax)) |
|
||||
| **Vor-/Nachlaufzeit** | 0–120 Minuten |
|
||||
| **Segment-Dauer** | 10 Sekunden bis 24 Stunden |
|
||||
| **Max. Dauer** | bis 30 Tage |
|
||||
|
||||
Ungültige Eingaben werden mit einer Fehlermeldung abgelehnt (API: 400/422).
|
||||
|
||||
## Zeitplan
|
||||
|
||||
@@ -85,7 +117,7 @@ Die globale NTFY- und Plik-Konfiguration (URL, Token, etc.) erfolgt in den [Eins
|
||||
|
||||
## Manuelle Aufnahme
|
||||
|
||||
Jobs können auch manuell über den **Aufnehmen**-Button gestartet werden, unabhängig vom Zeitplan.
|
||||
Jobs können auch manuell über den **Aufnehmen**-Button gestartet werden, unabhängig vom Zeitplan. Pro Job läuft höchstens eine Aufnahme gleichzeitig. Ein Job mit laufender Aufnahme kann nicht gelöscht werden.
|
||||
|
||||
## Schnellaufnahme
|
||||
|
||||
|
||||
Reference in New Issue
Block a user