138 lines
2.8 KiB
Markdown
138 lines
2.8 KiB
Markdown
# HandBrake
|
|
|
|
HandBrake encodiert die rohen MKV-Dateien in das gewünschte Format. Ripster nutzt `HandBrakeCLI`.
|
|
|
|
---
|
|
|
|
## Verwendeter Befehl
|
|
|
|
```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
|
|
```
|
|
|
|
---
|
|
|
|
## Presets
|
|
|
|
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
|
|
|
|
```bash
|
|
HandBrakeCLI --preset-list
|
|
```
|
|
|
|
---
|
|
|
|
## Audio-Encoding
|
|
|
|
### 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
|
|
```
|
|
|
|
---
|
|
|
|
## 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 |
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### HandBrake findet Preset nicht
|
|
|
|
```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.
|