0.12.0-17 Misc fixes
This commit is contained in:
@@ -1,35 +1,44 @@
|
||||
# Ripster
|
||||
|
||||
Ripster ist eine lokale Web-Anwendung für halbautomatisches Disc-Ripping mit MakeMKV + HandBrake inklusive Metadaten-Auswahl, Track-Review, Queue, Skripten/Ketten und Job-Historie.
|
||||
Ripster ist eine lokale Web-Anwendung für halbautomatisches Disc-Ripping, Audiobook-Verarbeitung und Datei-Konvertierung. Plugin-basierte Architektur mit MakeMKV + HandBrake + FFmpeg, inklusive Metadaten-Auswahl, Track-Review, Queue, Skripten/Ketten und Job-Historie.
|
||||
|
||||
---
|
||||
|
||||
## Statushinweis: CD-Ripping (experimentell)
|
||||
|
||||
- Die grundlegende CD-Ripping-Funktion im ersten Durchgang funktioniert.
|
||||
- Das Frontend ist dafür noch nicht vollständig angepasst.
|
||||
- Funktionen wie Restart, bestimmte Ansichten und Folge-Workflows können aktuell eingeschränkt sein oder fehlschlagen.
|
||||
- CD-Ripping wird weiterentwickelt und sollte derzeit als experimentell betrachtet werden.
|
||||
|
||||
## Was Ripster kann
|
||||
|
||||
### Disc-Ripping & Encoding
|
||||
- Disc-Erkennung mit Pipeline-Status in Echtzeit (WebSocket)
|
||||
- Medienprofil-Erkennung (Blu-ray/DVD/Sonstiges) aus Device-/Filesystem-Heuristik
|
||||
- Medienprofil-Erkennung (Blu-ray/DVD/CD/Sonstiges) aus Device-/Filesystem-Heuristik
|
||||
- Metadaten-Suche und Zuordnung über OMDb
|
||||
- MakeMKV-Analyse und Rip (`mkv` oder `backup`) mit profilspezifischen Settings
|
||||
- HandBrake-Review und Encoding mit Track-Auswahl, User-Presets, Extra-Args
|
||||
- **Audio-CD-Ripping** mit cdparanoia + Encoding nach FLAC/MP3/Opus/Vorbis (experimentell)
|
||||
|
||||
### Audiobook-Verarbeitung
|
||||
- **AAX/Audible-Dateien** verarbeiten (Activation Bytes, DRM-Handling)
|
||||
- FFmpeg-basiertes Kapitel-Splitting
|
||||
- Ausgabeformate: M4B, MP3, FLAC mit Metadaten
|
||||
- MusicBrainz-Metadaten-Lookup
|
||||
|
||||
### Datei-Converter
|
||||
- **Generische Audio/Video-Dateien** konvertieren (MKV, MP4, FLAC, MP3, u. v. m.)
|
||||
- Datei-Explorer mit Upload, Umbenennen, Verschieben, Löschen
|
||||
- Automatischer Verzeichnis-Scan (Polling konfigurierbar)
|
||||
|
||||
### Automatisierung & Verwaltung
|
||||
- Pre- und Post-Encode-Ausführungen (Skripte und/oder Skript-Ketten)
|
||||
- Pipeline-Queue mit Job- und Nicht-Job-Einträgen (`script`, `chain`, `wait`)
|
||||
- Cron-Jobs für Skripte/Ketten (inkl. Logs und manueller Auslösung)
|
||||
- **Aktivitäts-Tracking**: Laufende und abgeschlossene Aktionen (Skripte, Ketten, Cron, Tasks) in Echtzeit im Dashboard
|
||||
- **Aktivitäts-Tracking**: Laufende und abgeschlossene Aktionen in Echtzeit im Dashboard
|
||||
- Download-Queue: Ausgabedateien als ZIP herunterladen
|
||||
- Historie mit Re-Encode, Review-Neustart, File-/Job-Löschung und Orphan-Import
|
||||
- Hardware-Monitoring (CPU/RAM/GPU/Storage) im Dashboard
|
||||
|
||||
## Tech-Stack
|
||||
|
||||
- Backend: Node.js, Express, SQLite, WebSocket (`ws`)
|
||||
- Backend: Node.js, Express, SQLite, WebSocket (`ws`) – **Plugin-Architektur**
|
||||
- Frontend: React, Vite, PrimeReact
|
||||
- Externe Tools: `makemkvcon`, `HandBrakeCLI`, `mediainfo`
|
||||
- Externe Tools: `makemkvcon`, `HandBrakeCLI`, `mediainfo`, `ffmpeg`/`ffprobe`, `cdparanoia`
|
||||
|
||||
## Dokumentation
|
||||
|
||||
@@ -39,7 +48,8 @@ Ripster ist eine lokale Web-Anwendung für halbautomatisches Disc-Ripping mit Ma
|
||||
|
||||
- Debian 11/12 oder Ubuntu 22.04/24.04
|
||||
- root-Rechte + Internetzugang
|
||||
- optisches Laufwerk (oder gemountete Quelle)
|
||||
- optisches Laufwerk (oder gemountete Quelle) für Disc-Ripping
|
||||
- Netzwerk-Zugang für Audiobook-Upload und Datei-Converter optional
|
||||
|
||||
## Schnellstart (`install.sh`)
|
||||
|
||||
@@ -59,9 +69,9 @@ curl -fsSL https://raw.githubusercontent.com/Mboehmlaender/ripster/main/install.
|
||||
`install.sh` übernimmt u. a.:
|
||||
|
||||
- Node.js 20 (falls nötig)
|
||||
- Basistools inkl. `mediainfo`
|
||||
- Basistools inkl. `mediainfo`, `ffmpeg`, `ffprobe`
|
||||
- CD-Ripping-Tools (`cdparanoia`, `flac`, `lame`, `opus-tools`, `vorbis-tools`)
|
||||
- MakeMKV
|
||||
- MakeMKV
|
||||
- HandBrake CLI (Auswahl Standard/CPU oder GPU/NVDEC-Binary für HW-Encoding)
|
||||
- nginx
|
||||
- Repository-Checkout, npm-Install, Frontend-Build, systemd-Service (`ripster-backend`)
|
||||
@@ -89,9 +99,12 @@ sudo bash install.sh --help # Hilfe anzeigen
|
||||
|
||||
Die meisten Einstellungen werden in der App unter `Settings` gepflegt und in SQLite gespeichert:
|
||||
|
||||
- Pfade: `Raw Ausgabeordner`, `Film Ausgabeordner`, `Log Ordner` (jeweils mit Blu-ray/DVD/Sonstiges-Varianten)
|
||||
- Tools: `MakeMKV Kommando`, `HandBrake Kommando`, `Mediainfo Kommando`
|
||||
- Pfade: `Raw Ausgabeordner`, `Film Ausgabeordner`, `Log Ordner` (jeweils mit Blu-ray/DVD/Audiobook-Varianten)
|
||||
- Pfade Converter: `Converter Raw-Ordner`, `Converter Ausgabe (Video)`, `Converter Ausgabe (Audio)`
|
||||
- Tools: `MakeMKV Kommando`, `HandBrake Kommando`, `Mediainfo Kommando`, `FFmpeg Kommando`, `FFprobe Kommando`
|
||||
- Profile: medientyp-spezifische Felder für Blu-ray/DVD/Sonstiges (z. B. Preset, Zusatzargumente, Ausgabeformat)
|
||||
- Audiobook: Output-Template, RAW-Template
|
||||
- Converter: erlaubte Endungen, Auto-Scan-Intervall, Output-Templates
|
||||
- Queue/Monitoring: `Parallele Jobs`, `Hardware Monitoring aktiviert`, `Hardware Monitoring Intervall (ms)`
|
||||
- Benachrichtigungen: PushOver
|
||||
|
||||
@@ -127,13 +140,14 @@ Hinweis: Beim DB-Init wird das Schema geprüft und fehlende Elemente werden migr
|
||||
ripster/
|
||||
backend/
|
||||
src/
|
||||
plugins/ # Plugin-System (BluRay, DVD, CD, Audiobook, Converter)
|
||||
routes/
|
||||
services/
|
||||
db/
|
||||
utils/
|
||||
frontend/
|
||||
src/
|
||||
pages/
|
||||
pages/ # Dashboard, Settings, History, Converter, Downloads, Database
|
||||
components/
|
||||
api/
|
||||
db/schema.sql
|
||||
@@ -165,6 +179,30 @@ ripster/
|
||||
- `POST /api/pipeline/queue/entry`
|
||||
- `DELETE /api/pipeline/queue/entry/:entryId`
|
||||
|
||||
**Converter**
|
||||
- `GET /api/converter/tree`
|
||||
- `GET /api/converter/browse`
|
||||
- `POST /api/converter/scan`
|
||||
- `POST /api/converter/create-jobs`
|
||||
- `POST /api/converter/upload`
|
||||
- `POST /api/converter/jobs/from-selection`
|
||||
- `GET /api/converter/jobs`
|
||||
- `GET /api/converter/jobs/:jobId`
|
||||
- `POST /api/converter/jobs/:jobId/start`
|
||||
- `POST /api/converter/jobs/:jobId/cancel`
|
||||
- `DELETE /api/converter/jobs/:jobId`
|
||||
- `DELETE /api/converter/files`
|
||||
- `POST /api/converter/files/rename`
|
||||
- `POST /api/converter/files/move`
|
||||
- `POST /api/converter/files/folder`
|
||||
|
||||
**Downloads**
|
||||
- `GET /api/downloads`
|
||||
- `GET /api/downloads/summary`
|
||||
- `POST /api/downloads/history/:jobId`
|
||||
- `GET /api/downloads/:id/file`
|
||||
- `DELETE /api/downloads/:id`
|
||||
|
||||
**History**
|
||||
- `GET /api/history`
|
||||
- `GET /api/history/:id`
|
||||
|
||||
Reference in New Issue
Block a user