Skip to content

🔌 Plugin for disk2iso - Video-DVD Ripping with dvdbackup/ddrescue/dd and intelligent fallback system

License

Notifications You must be signed in to change notification settings

Disk2ISO/disk2iso-dvd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

disk2iso DVD Module

License: MIT Version

Video-DVD Ripping Plugin für disk2iso - ermöglicht entschlüsseltes und verschlüsseltes Kopieren von DVD-Video Discs.

🚀 Features

  • EntschlĂĽsseltes DVD-Backup - dvdbackup mit libdvdcss2
  • VerschlĂĽsselte ISO-Kopien - ddrescue/dd Fallback
  • Intelligentes Fallback-System - Automatischer Methodenwechsel bei Fehlern
  • Retry-Mechanismus - Bis zu 3 Versuche mit verschiedenen Methoden
  • TMDB Integration - Automatische Film-Metadaten (optional)
  • Fortschritts-Tracking - Echtzeit-Prozentanzeige
  • Multi-Method Support - 3 verschiedene Kopiermethoden

đź“‹ Voraussetzungen

  • disk2iso >= v1.2.0 (Installation)
  • dvdbackup (empfohlen, fĂĽr entschlĂĽsselte Backups)
  • libdvd-pkg / libdvdcss2 (fĂĽr CSS-EntschlĂĽsselung)
  • genisoimage (fĂĽr ISO-Erstellung aus entschlĂĽsselten Backups)
  • ddrescue (optional, fĂĽr robustes Kopieren)
  • dd (Fallback, immer verfĂĽgbar)

📦 Installation

Automatisch (empfohlen)

# Download neueste Version
curl -L https://github.com/DirkGoetze/disk2iso-dvd/releases/latest/download/dvd-module.zip -o /tmp/dvd.zip

# Entpacken nach disk2iso
cd /opt/disk2iso
sudo unzip /tmp/dvd.zip

# Service neu starten
sudo systemctl restart disk2iso

Manuell

  1. Download neueste Release
  2. Entpacke nach /opt/disk2iso/
  3. Setze Berechtigungen: sudo chown -R root:root /opt/disk2iso/
  4. Restart Service: sudo systemctl restart disk2iso

Via Web-UI (ab v1.3.0)

  1. Ă–ffne disk2iso Web-UI
  2. Gehe zu Einstellungen → Module
  3. Klicke auf DVD → Installieren

⚙️ Konfiguration

Manifest-Datei

Das Modul wird ĂĽber conf/libdvd.ini konfiguriert:

[module]
name=dvd
version=1.2.0
enabled=true

[dependencies]
# Kritische externe Tools
external=

# Optionale Tools
optional=dvdbackup,genisoimage,ddrescue

[folders]
# Ausgabe-Ordner (unterhalb von OUTPUT_DIR)
output=dvd

libdvdcss2 installieren (fĂĽr CSS-EntschlĂĽsselung)

# Debian/Ubuntu
sudo apt install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg

# Oder manuell
sudo apt install libdvdcss2

Modul aktivieren/deaktivieren

# Deaktivieren (im Manifest)
sudo nano /opt/disk2iso/conf/libdvd.ini
# Setze: enabled=false

# Service neu starten
sudo systemctl restart disk2iso

đź”§ Verwendung

Automatisch

Lege eine Video-DVD ein - disk2iso erkennt automatisch den Typ und startet das Kopieren:

# Status prĂĽfen
sudo systemctl status disk2iso

# Logs ansehen
sudo journalctl -u disk2iso -f

Via Web-UI

  1. Ă–ffne http://your-server:5000
  2. Lege DVD ein
  3. Klicke auf Kopieren starten
  4. Verfolge Fortschritt in Echtzeit

📊 Ausgabe-Struktur

Methode 1: EntschlĂĽsselt (dvdbackup)

/media/iso/dvd/
├── Movie_Title_2024/
│   ├── VIDEO_TS/                  # Entschlüsselter DVD-Inhalt
│   │   ├── VIDEO_TS.IFO
│   │   ├── VTS_01_0.IFO
│   │   ├── VTS_01_1.VOB
│   │   └── ...
│   └── Movie_Title_2024.iso       # ISO aus VIDEO_TS erstellt
└── Movie_Title_2024.log           # Kopiervorgang-Log

Methode 2/3: VerschlĂĽsselt (ddrescue/dd)

/media/iso/dvd/
├── Movie_Title_2024.iso           # ISO-Image (verschlüsselt)
└── Movie_Title_2024.iso.log       # Kopiervorgang-Log

🛠️ Kopiermethoden

Methode 1: dvdbackup + genisoimage (empfohlen)

  • EntschlĂĽsselt - CSS-Schutz wird entfernt
  • Schnell - Optimierte Lesegeschwindigkeit
  • Kompatibel - Spielt auf allen Geräten ab
  • Ordner-Struktur - VIDEO_TS zugänglich
# Automatisch verwendet wenn dvdbackup verfĂĽgbar
sudo apt-get install dvdbackup genisoimage libdvd-pkg

Methode 2: ddrescue (Fallback bei Fehlern)

  • Robust - Automatisches Retry bei Lesefehlern
  • VerschlĂĽsselt - ISO bleibt kopiergeschĂĽtzt
  • Fortsetzen - Map-Datei fĂĽr Unterbrechungen
sudo apt-get install gddrescue

Methode 3: dd (Letzter Fallback)

  • Einfach - Keine Extra-Tools nötig
  • Langsam - Keine Fehlerbehandlung
  • VerschlĂĽsselt - ISO bleibt kopiergeschĂĽtzt
# Immer verfĂĽgbar (Teil von coreutils)

🔄 Intelligentes Fallback-System

Das Modul versucht automatisch verschiedene Methoden:

  1. Versuch 1: dvdbackup (entschlĂĽsselt, schnell)
  2. Versuch 2: ddrescue (verschlĂĽsselt, robust) - bei dvdbackup-Fehler
  3. Versuch 3: dd (verschlĂĽsselt, langsam) - bei ddrescue-Fehler

Fehler werden geloggt und der Benutzer wird informiert:

[ERROR] dvdbackup failed (Exit: 1) - trying ddrescue...
[INFO] Switching to ddrescue method
[SUCCESS] DVD copied successfully with ddrescue

🔌 API-Endpunkte

Keine zusätzlichen API-Endpunkte - das Modul integriert sich in die Haupt-API:

# Status-Abfrage
curl http://localhost:5000/api/status

# Ausgabe bei DVD Kopiervorgang:
{
  "status": "copying",
  "disc_type": "dvd-video",
  "progress": 65,
  "method": "dvdbackup",
  "current_attempt": 1
}

đź§Ş Entwicklung

Struktur

disk2iso-dvd/
├── conf/
│   └── libdvd.ini              # Modul-Manifest
├── lang/
│   ├── libdvd.de               # Deutsche Übersetzung
│   ├── libdvd.en               # Englische Übersetzung
│   ├── libdvd.es               # Spanische Übersetzung
│   └── libdvd.fr               # Französische Übersetzung
└── lib/
    └── libdvd.sh               # Haupt-Bibliothek

Lokale Tests

# In disk2iso-Umgebung testen
cd /opt/disk2iso
source lib/libcommon.sh
source lib/libdvd.sh

# Abhängigkeiten prüfen
dvd_check_dependencies

# Testlauf mit DVD
copy_video_dvd

📝 Changelog

Siehe CHANGELOG.md für alle Änderungen.

🤝 Beitragen

  1. Fork das Repository
  2. Erstelle einen Feature Branch (git checkout -b feature/amazing-feature)
  3. Commit deine Änderungen (git commit -m 'Add amazing feature')
  4. Push zum Branch (git push origin feature/amazing-feature)
  5. Ă–ffne einen Pull Request

📜 Lizenz

MIT License - siehe LICENSE fĂĽr Details.

đź”— Links

đź’¬ Support

About

🔌 Plugin for disk2iso - Video-DVD Ripping with dvdbackup/ddrescue/dd and intelligent fallback system

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published