71c618073e
Ampel / ampel (push) Successful in 36s
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
179 lines
9.3 KiB
TypeScript
179 lines
9.3 KiB
TypeScript
import { ReactNode } from 'react'
|
|
import { Disc, Tv, HardDrive, Bell, Wrench, Cpu, Download, HelpCircle } from 'lucide-react'
|
|
import { PageHeader } from '../components/ui/PageHeader'
|
|
import { Card, CardHeader, CardTitle, CardContent } from '../components/ui/Card'
|
|
|
|
function Abschnitt({ icon: Icon, titel, children }: { icon: any, titel: string, children: ReactNode }) {
|
|
return (
|
|
<Card>
|
|
<CardHeader>
|
|
<CardTitle className="flex items-center gap-2.5">
|
|
<Icon size={20} className="text-amber-500" />
|
|
<span>{titel}</span>
|
|
</CardTitle>
|
|
</CardHeader>
|
|
<CardContent className="space-y-3 text-sm leading-relaxed text-slate-600 dark:text-slate-300">
|
|
{children}
|
|
</CardContent>
|
|
</Card>
|
|
)
|
|
}
|
|
|
|
export default function AnleitungPage() {
|
|
const fett = "font-semibold text-slate-100"
|
|
|
|
return (
|
|
<div className="space-y-6 max-w-6xl mx-auto">
|
|
<PageHeader
|
|
title="Anleitung & Hilfe"
|
|
subtitle="So funktioniert Rippy — vom Einlegen der Disc bis zum fertigen Film in deinem Media-Server"
|
|
/>
|
|
|
|
<Abschnitt icon={Disc} titel="Der normale Weg: Disc rein, fertig">
|
|
<p>
|
|
<span className={fett}>1. Disc einlegen.</span> Rippy erkennt sie automatisch (Titel, Poster,
|
|
Beschreibung) und zeigt sie oben im Dashboard. Stimmt der Titel nicht → „Nicht korrekt?"
|
|
klicken und den richtigen wählen — Rippy merkt sich das für diese Disc.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>2. „Rippen starten"</span> und das Ziel wählen: 🎥 Filme, 📺 Serien,
|
|
🎵 Musik oder ein eigener Ordner (auch NAS-Freigaben). Optional: „Nur Hauptfilm" (längster
|
|
Titel) oder per <span className={fett}>„Disc scannen"</span> einzelne Titel an-/abwählen.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>3. Warten.</span> Rippy sichert verlustfrei (MakeMKV) und komprimiert
|
|
danach auf Arbeitsgröße (HandBrake) — alle Tonspuren und Untertitel bleiben erhalten.
|
|
Fertige Jobs haben einen Download-Knopf; Klick auf den Titel zeigt alle Details.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>Vollautomatik:</span> Unter Einstellungen → Ripping einschaltbar —
|
|
dann startet der Rip ohne Nachfrage, sobald eine Disc erkannt wurde. Bereits gerippte
|
|
Discs (Fingerabdruck) werden übersprungen.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={Tv} titel="Serien rippen">
|
|
<p>
|
|
Im „Rippen starten"-Dialog <span className={fett}>„Serien"</span> wählen, Serienname und
|
|
Staffel angeben. Die Ablage wird automatisch <code>Serie/Season 02/…</code>, und nach dem
|
|
Rip ordnet Rippy die Episoden über einen Laufzeit-Abgleich mit TMDB zu und benennt sie
|
|
(„Serie S02E03.mkv"). Das passiert nur bei <span className={fett}>eindeutiger</span> Zuordnung —
|
|
im Zweifel bleiben die Original-Namen und das Log sagt warum.
|
|
</p>
|
|
<p>
|
|
Eine komplette Staffel auf einer Disc klappt auch, wenn alle Episoden gleich lang sind
|
|
(Anime-Boxen). Bei Teil-Discs mit lauter gleich langen Episoden ist eine automatische
|
|
Zuordnung prinzipiell nicht möglich — dann von Hand umbenennen.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={HardDrive} titel="NAS & Speicherziele">
|
|
<p>
|
|
Einstellungen → Speicherziele: Rechner/NAS eintragen, <span className={fett}>Benutzer +
|
|
Passwort</span> angeben (Windows und die meisten NAS lehnen Gast-Zugriffe ab!), „Freigaben
|
|
auflisten", Freigabe wählen, „Einhängen & speichern". Danach taucht das Ziel im
|
|
„Rippen starten"-Dialog auf und wird beim Start automatisch wieder verbunden.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>4K-UHD-Tipp:</span> Rohdaten sind bis 100 GB groß. Wenn die
|
|
Rippy-Platte knapp ist (Dashboard zeigt den freien Platz), das Arbeitsverzeichnis unter
|
|
Einstellungen → Verarbeitung auf eine große Freigabe legen. Rippy prüft den Platz vor
|
|
jedem Rip und bricht sonst mit Klartext ab.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={Tv} titel="Jellyfin, Emby, Kodi, Plex">
|
|
<p>
|
|
Einstellungen → Ripping → Media-Server: Rippy benennt fertige Rips als „Titel (Jahr)" und
|
|
legt für Jellyfin/Emby/Kodi zusätzlich <code>movie.nfo</code> + <code>poster.jpg</code> dazu —
|
|
dein Server erkennt alles ohne Nacharbeit (Plex nutzt nur die Benennung).
|
|
</p>
|
|
<p>
|
|
<span className={fett}>Null-Klick-Kette:</span> Bei Jellyfin/Emby zusätzlich Server-URL und
|
|
API-Key eintragen (Administration → API-Schlüssel) — dann stößt Rippy nach jedem fertigen
|
|
Rip sofort einen Bibliotheks-Scan an. Disc rein → Film erscheint im Server.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={Bell} titel="Benachrichtigungen">
|
|
<p>
|
|
Einstellungen → Benachrichtigungen: eine Webhook-URL eintragen (Discord-Webhook, ntfy-Thema
|
|
für Handy-Push, Slack oder eigenes JSON), „Test senden", speichern. Rippy meldet sich, wenn
|
|
ein Job fertig ist, fehlschlägt oder abgebrochen wird. Die Schritt-für-Schritt-Anleitung je
|
|
Dienst steht direkt auf der Einstellungs-Seite.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={Cpu} titel="Weitere Maschinen als Encoding-Worker">
|
|
<p>
|
|
Die Kompression kann jede Maschine im Netz übernehmen — Einstellungen → Worker.
|
|
Für <span className={fett}>Windows</span> gibt es einen <span className={fett}>Installer
|
|
(.exe)</span>: herunterladen, doppelklicken, im Fenster Adresse + Name eintragen,
|
|
„Installieren" — kein Konsolenfenster, kein CLI (nur Python 3.10+ muss auf dem PC sein).
|
|
Für <span className={fett}>Linux</span> gibt es einen Docker-Befehl. Die Maschine taucht
|
|
danach unter ihrem Namen in der Worker-Liste auf und zieht sich Kompressions-Jobs
|
|
automatisch. Gerippt wird immer auf der Rippy-Hauptmaschine.
|
|
</p>
|
|
<p>
|
|
Der Windows-Worker läuft mit <span className={fett}>Tray-Symbol</span> neben der Uhr
|
|
(Status, Start/Stopp, „Rippy öffnen", Log) — gestartet über <code>start-tray.bat</code>.
|
|
Deinstallieren: <code>uninstall.ps1</code> im Worker-Ordner stoppt alles, entfernt den
|
|
Autostart, meldet den Worker in Rippy ab und löscht den Ordner rückstandsfrei.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>Wichtig:</span> Worker verbinden sich direkt im Heimnetz — in den
|
|
Befehlen immer die <span className={fett}>LAN-Adresse</span> der Rippy-Maschine verwenden,
|
|
nie eine externe Domain (die läuft über den Reverse-Proxy und blockt).
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={Wrench} titel="MakeMKV-Beta-Key & System">
|
|
<p>
|
|
Blu-ray-Ripping braucht den MakeMKV-Beta-Key, der etwa <span className={fett}>monatlich
|
|
wechselt</span> (MakeMKV-Forum, Thread „MakeMKV is free while in beta"). Neuen Key unter
|
|
Einstellungen → System eintragen — gilt ab dem nächsten Rip, ohne Neustart. DVDs gehen
|
|
immer auch ohne Key. Dort stehen auch die Werkzeug-Versionen und der freie Speicherplatz.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>Updates:</span> „Auf Updates prüfen" (ebenfalls Einstellungen →
|
|
System) vergleicht die installierten Versionen mit makemkv.com und den offiziellen
|
|
HandBrake-Releases. Gibt es ein MakeMKV-Update, zeigt Rippy den fertigen
|
|
Update-Befehl an — wichtig, weil neue Versionen auch die neueste
|
|
Disc-Schlüssel-Datenbank mitbringen.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={Download} titel="Fertige Dateien herunterladen">
|
|
<p>
|
|
Bei fertigen Jobs: „Download" in der Aktion-Spalte (oder Klick auf den Titel) → Dateiliste
|
|
mit „Alle herunterladen". Die Job-Liste lässt sich per Papierkorb bzw. „Erledigte aufräumen"
|
|
leeren — <span className={fett}>die gerippten Dateien bleiben dabei immer liegen</span>.
|
|
„CSV" exportiert die komplette Historie für Excel.
|
|
</p>
|
|
</Abschnitt>
|
|
|
|
<Abschnitt icon={HelpCircle} titel="Häufige Fragen">
|
|
<p>
|
|
<span className={fett}>„Diese Disc wurde bereits gerippt"?</span> Rippy erkennt Discs am
|
|
Fingerabdruck. Nochmal rippen geht trotzdem — der Hinweis verhindert nur Versehen.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>4K-UHD schlägt fehl mit „volume key is unknown"?</span> Das Laufwerk
|
|
liest die Disc (LibreDrive), aber MakeMKV kennt den Schlüssel dieser (zu neuen) Pressung
|
|
noch nicht. Den automatisch gespeicherten AACS-Dump im MakeMKV-Forum einreichen — mit einem
|
|
der nächsten Updates ist die Disc rippbar.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>„Neu komprimieren" fehlt bei einem Fehl-Job?</span> Der Knopf
|
|
erscheint nur, wenn die Rohdaten noch daliegen — bei einem Job, der nie gerippt hat, gäbe
|
|
es nichts zu komprimieren.
|
|
</p>
|
|
<p>
|
|
<span className={fett}>Kein Laufwerk sichtbar?</span> In einer VM muss das Laufwerk per
|
|
USB-Passthrough durchgereicht sein (nicht als emuliertes CD-ROM) — Details in der README.
|
|
</p>
|
|
</Abschnitt>
|
|
</div>
|
|
)
|
|
}
|