Zum Inhalt

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

Halbautomatische Disc-Ripping-Plattform für DVDs und Blu-rays

- Automatisiertes Ripping

  Disc einlegen – Ripster erkennt sie automatisch und startet den Analyse-Workflow mit MakeMKV.

  Workflow verstehen

- Metadata-Integration

  Automatische Suche in der OMDb-Datenbank für Filmtitel, Poster und IMDb-IDs.

  Konfiguration

- Flexibles Encoding

  HandBrake-Encoding mit individueller Track-Auswahl für Audio- und Untertitelspuren.

  Encode-Planung

- Job-Historie

  Vollständiges Audit-Trail aller Ripping-Jobs mit Logs und Re-Encode-Funktion.

  History API

## Was ist Ripster?

Ripster ist eine webbasierte Anwendung zur halbautomatischen Digitalisierung von DVDs und Blu-rays. Die Anwendung kombiniert bewährte Open-Source-Tools zu einem durchgängigen, komfortablen Workflow:

    Disc einlegen → Erkennung → Analyse → Metadaten wählen → Rippen → Encodieren → Fertig

### Kernfunktionen

Feature | Beschreibung
--- | ---
Echtzeit-Updates | WebSocket-basierte Live-Statusanzeige ohne Reload
Intelligente Playlist-Analyse | Erkennt Blu-ray Playlist-Verschleierung (Fake-Playlists)
Track-Auswahl | Individuelle Auswahl von Audio- und Untertitelspuren
Orphan-Recovery | Import von bereits gerippten Dateien als Jobs
PushOver-Benachrichtigungen | Mobile Alerts bei Fertigstellung oder Fehlern
DB-Korruptions-Recovery | Automatische Quarantäne bei korrupten SQLite-Dateien
Re-Encoding | Erneutes Encodieren ohne neu rippen

## Technologie-Stack

BackendFrontendExterne Tools

- Node.js >= 20.19.0 mit Express.js
- SQLite3 mit automatischen Schema-Migrationen
- WebSocket (`ws`) für Echtzeit-Kommunikation
- Externe CLI-Tools: `makemkvcon`, `HandBrakeCLI`, `mediainfo`

- React 18.3.1 mit React Router
- Vite 5.4.12 als Build-Tool
- PrimeReact 10.9.2 als UI-Bibliothek
- WebSocket-Client für Live-Updates

Tool | Zweck
--- | ---
`makemkvcon` | Disc-Analyse & MKV/Backup-Ripping
`HandBrakeCLI` | Video-Encoding
`mediainfo` | Track-Informationen aus gerippten Dateien
OMDb API | Filmmetadaten (Titel, Poster, IMDb-ID)

## Schnellstart

    # 1. Repository klonen
    git clone https://github.com/YOUR_GITHUB_USERNAME/ripster.git
    cd ripster

    # 2. Starten (Node.js >= 20 erforderlich)
    ./start.sh

    # 3. Browser öffnen
    open http://localhost:5173

Erste Schritte

Die vollständige Installationsanleitung mit allen Voraussetzungen findest du unter Erste Schritte.

## Pipeline-Überblick

    flowchart LR
        IDLE --> DD[DISC_DETECTED]
        DD --> META[METADATA\nSELECTION]
        META --> RTS[READY_TO\nSTART]
        RTS -->|Auto-Start| RIP[RIPPING]
        RTS -->|Auto-Start mit RAW| MIC
        RIP --> MIC[MEDIAINFO\nCHECK]
        MIC -->|Playlist offen (Backup)| WUD[WAITING_FOR\nUSER_DECISION]
        WUD --> MIC
        MIC --> RTE[READY_TO\nENCODE]
        RTE --> ENC[ENCODING]
        ENC -->|inkl. Post-Skripte| FIN([FINISHED])
        ENC --> ERR([ERROR])
        RIP --> ERR

        style FIN fill:#e8f5e9,stroke:#66bb6a,color:#2e7d32
        style ERR fill:#ffebee,stroke:#ef5350,color:#c62828
        style WUD fill:#fff8e1,stroke:#ffa726,color:#e65100
        style ENC fill:#f3e5f5,stroke:#ab47bc,color:#6a1b9a

`READY_TO_START` ist in der Praxis meist ein kurzer Übergangszustand: der Job wird nach Metadaten-Auswahl automatisch gestartet oder in die Queue eingeplant.