Bugfix and Docs

This commit is contained in:
2026-03-10 13:12:57 +00:00
parent 3516ff8486
commit ac4d77dddf
75 changed files with 3511 additions and 5142 deletions

View File

@@ -1,137 +1,69 @@
# HandBrake
HandBrake encodiert die rohen MKV-Dateien in das gewünschte Format. Ripster nutzt `HandBrakeCLI`.
Ripster verwendet `HandBrakeCLI` für Scan und Encode.
---
## Verwendeter Befehl
## Verwendete Aufrufe
### Scan (Review-Aufbau)
```bash
HandBrakeCLI --scan --json -i <input> -t 0
```
### Encode (vereinfacht)
```bash
HandBrakeCLI \
--input "/mnt/raw/Film_t00.mkv" \
--output "/mnt/movies/Film (2010).mkv" \
--preset "H.265 MKV 1080p30" \
--audio 1,2 \
--aencoder copy:ac3,ffaac \
--subtitle 1 \
--subtitle-default 1
-i <input> \
-o <output> \
-t <titleId> \
-Z "<preset>" \
<extra-args> \
-a <audioTrackIds|none> \
-s <subtitleTrackIds|none>
```
Optional ergänzt Ripster:
- `--subtitle-burned=<id>`
- `--subtitle-default=<id>`
- `--subtitle-forced=<id>` oder `--subtitle-forced`
---
## Presets
## Presets auslesen
HandBrake verwendet **Presets** für vorkonfigurierte Encoding-Einstellungen.
### Empfohlene Presets
| Preset | Codec | Auflösung | Für |
|--------|-------|----------|-----|
| `H.265 MKV 1080p30` | HEVC/H.265 | 1080p | Beste Qualität/Größe |
| `H.265 MKV 720p30` | HEVC/H.265 | 720p | Kleinere Dateien |
| `H.264 MKV 1080p30` | AVC/H.264 | 1080p | Breiteste Kompatibilität |
| `HQ 1080p30 Surround` | HEVC/H.265 | 1080p | Hohe Qualität mit Surround |
### Alle Presets anzeigen
Ripster liest Presets mit:
```bash
HandBrakeCLI --preset-list
HandBrakeCLI -z
```
---
## Audio-Encoding
## Relevante Settings
### Copy-kompatible Codecs
HandBrake kann folgende Codecs direkt kopieren (kein Qualitätsverlust):
| Codec | `--aencoder` Wert |
|-------|-----------------|
| AC-3 | `copy:ac3` |
| AAC | `copy:aac` |
| MP3 | `copy:mp3` |
| TrueHD | `copy:truehd` |
| E-AC-3 | `copy:eac3` |
### Transcoding
Codecs die nicht kopiert werden können, werden zu AAC transcodiert:
| Original | Transcodiert zu |
|---------|----------------|
| DTS | AAC (`ffaac`) |
| DTS-HD | AAC (`ffaac`) |
---
## Extra-Argumente
Über die Einstellung `handbrake_extra_args` können beliebige HandBrake-Argumente hinzugefügt werden:
```
# Cropping deaktivieren
--crop 0:0:0:0
# Loose Anamorphic
--loose-anamorphic
# Bestimmte Qualität setzen
--quality 20
```
| Key | Bedeutung |
|-----|-----------|
| `handbrake_command` | CLI-Binary |
| `handbrake_preset_bluray` / `handbrake_preset_dvd` | profilspezifisches Preset |
| `handbrake_extra_args_bluray` / `handbrake_extra_args_dvd` | profilspezifische Zusatzargumente |
| `output_extension_bluray` / `output_extension_dvd` | Ausgabeformat |
| `handbrake_restart_delete_incomplete_output` | unvollständige Ausgabe bei Neustart löschen |
---
## Fortschritts-Parsing
Ripster parst die HandBrake-Ausgabe auf stderr für die Fortschrittsanzeige:
```
Encoding: task 1 of 1, 73.50 % (45.23 fps, avg 44.12 fps, ETA 00h12m34s)
```
`progressParsers.js` extrahiert:
- Prozentzahl
- Aktuelle FPS
- ETA
---
## Konfiguration in Ripster
| Einstellung | Beschreibung |
|------------|-------------|
| `handbrake_command` | Pfad/Befehl für `HandBrakeCLI` |
| `handbrake_preset` | Preset-Name |
| `handbrake_extra_args` | Zusätzliche CLI-Argumente |
| `output_extension` | Dateiendung der Ausgabe |
Ripster parst HandBrake-Stderr (Prozent/ETA/Detail) und sendet WebSocket-Progress (`PIPELINE_PROGRESS`).
---
## Troubleshooting
### HandBrake findet Preset nicht
- Preset nicht gefunden: Preset-Namen mit `HandBrakeCLI -z` prüfen
- sehr langsames Encoding: Preset/Extra-Args prüfen (z. B. `--encoder-preset`)
```bash
# Preset-Liste anzeigen
HandBrakeCLI --preset-list 2>&1 | grep -i "h.265"
```
Preset-Namen sind case-sensitive!
### Encoding sehr langsam
```bash
# CPU-Encoding-Preset anpassen (schneller = schlechtere Qualität)
handbrake_extra_args = --encoder-preset fast
```
Verfügbare Presets: `ultrafast`, `superfast`, `veryfast`, `faster`, `fast`, `medium`, `slow`, `slower`, `veryslow`
### GPU-Encoding nutzen (NVIDIA)
```
handbrake_preset = H.265 NVENC 1080p
```
Erfordert HandBrake-Build mit NVENC-Unterstützung und NVIDIA-GPU.
Das Produktions-Installer-Script `install.sh` bietet eine Option zur Installation eines gebündelten HandBrakeCLI-Binaries mit NVDEC-Unterstützung (NVIDIA GPU-Dekodierung). Diese Option erscheint interaktiv während der Installation.