# HandBrake - Ripster
Halbautomatische Disc-Ripping-Plattform für DVDs & Blu-rays mit HandBrake-Encoding
Author: Michael

Zum Inhalt

# HandBrake

HandBrake encodiert die rohen MKV-Dateien in das gewünschte Format. Ripster nutzt `HandBrakeCLI`.

## Verwendeter Befehl

    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

    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

    # Preset-Liste anzeigen
    HandBrakeCLI --preset-list 2>&1 | grep -i "h.265"

Preset-Namen sind case-sensitive!

### Encoding sehr langsam

    # 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.