No description
- Shell 67.3%
- Python 16.3%
- JavaScript 10.9%
- HTML 5.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| conf | ||
| doc/04_Module | ||
| lang | ||
| lib | ||
| store | ||
| www | ||
| .gitignore | ||
| CHANGELOG.md | ||
| disk2iso-bluray.code-workspace | ||
| GITHUB_SETUP.md | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| VERSION | ||
disk2iso Blu-ray Module
Blu-ray Ripping Plugin für disk2iso - ermöglicht das Kopieren von Blu-ray Discs mit ddrescue oder dd.
🚀 Features
- Verschlüsselte Blu-ray Kopien - ISO-Images bleiben verschlüsselt
- Robustes Kopieren - ddrescue mit automatischer Fehlerbehandlung
- Fallback-Methode - dd als Alternative verfügbar
- Große Datenmengen - Unterstützung bis 50GB
- TMDB Integration - Automatische Metadaten-Abfrage (optional)
- Fortschritts-Tracking - Echtzeit-Prozentanzeige
📋 Voraussetzungen
- disk2iso >= v1.2.0 (Installation)
- ddrescue (empfohlen, für robustes Kopieren)
- dd (Fallback, immer verfügbar)
- Optional: TMDB Modul für Metadaten
📦 Installation
Automatisch (empfohlen)
# Download neueste Version
curl -L https://github.com/DirkGoetze/disk2iso-bluray/releases/latest/download/bluray-module.zip -o /tmp/bluray.zip
# Entpacken nach disk2iso
cd /opt/disk2iso
sudo unzip /tmp/bluray.zip
# Service neu starten
sudo systemctl restart disk2iso
Manuell
- Download neueste Release
- Entpacke nach
/opt/disk2iso/ - Setze Berechtigungen:
sudo chown -R root:root /opt/disk2iso/ - Restart Service:
sudo systemctl restart disk2iso
Via Web-UI (ab v1.3.0)
- Öffne disk2iso Web-UI
- Gehe zu Einstellungen → Module
- Klicke auf Blu-ray → Installieren
⚙️ Konfiguration
Manifest-Datei
Das Modul wird über conf/libbluray.ini konfiguriert:
[module]
name=bluray
version=1.2.0
enabled=true
[dependencies]
# Kritische externe Tools
external=
# Optionale Tools
optional=ddrescue
[folders]
# Ausgabe-Ordner (unterhalb von OUTPUT_DIR)
output=bd
Modul aktivieren/deaktivieren
# Deaktivieren (im Manifest)
sudo nano /opt/disk2iso/conf/libbluray.ini
# Setze: enabled=false
# Service neu starten
sudo systemctl restart disk2iso
🔧 Verwendung
Automatisch
Lege eine Blu-ray Disc ein - disk2iso erkennt automatisch den Typ und startet das Kopieren:
# Status prüfen
sudo systemctl status disk2iso
# Logs ansehen
sudo journalctl -u disk2iso -f
Manuell (Skript)
# Direkter Aufruf (für Tests)
sudo /opt/disk2iso/lib/libbluray.sh
Via Web-UI
- Öffne http://your-server:5000
- Lege Blu-ray ein
- Klicke auf Kopieren starten
- Verfolge Fortschritt in Echtzeit
📊 Ausgabe-Struktur
/media/iso/bd/
├── Movie_Title_2024.iso # ISO-Image (verschlüsselt)
├── Movie_Title_2024.iso.log # Kopiervorgang-Log
└── .temp/
└── Movie_Title_2024.iso.mapfile # ddrescue Map-Datei
🛠️ Kopiermethoden
Methode 1: ddrescue (empfohlen)
- Robust - Automatisches Retry bei Lesefehlern
- Schnell - Optimierte Block-Größen
- Status - Map-Datei für Fortsetzung
- Verschlüsselt - ISO bleibt kopiergeschützt
# Wird automatisch verwendet wenn ddrescue installiert ist
sudo apt-get install gddrescue
Methode 2: dd (Fallback)
- Einfach - Keine Extra-Tools nötig
- Langsam - Keine Fehlerbehandlung
- Verschlüsselt - ISO bleibt kopiergeschützt
# Immer verfügbar (Teil von coreutils)
🔌 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 Blu-ray Kopiervorgang:
{
"status": "copying",
"disc_type": "bd-video",
"progress": 45,
"method": "ddrescue"
}
🧪 Entwicklung
Struktur
disk2iso-bluray/
├── conf/
│ └── libbluray.ini # Modul-Manifest
├── lang/
│ ├── libbluray.de # Deutsche Übersetzung
│ ├── libbluray.en # Englische Übersetzung
│ ├── libbluray.es # Spanische Übersetzung
│ └── libbluray.fr # Französische Übersetzung
└── lib/
└── libbluray.sh # Haupt-Bibliothek
Lokale Tests
# In disk2iso-Umgebung testen
cd /opt/disk2iso
source lib/libcommon.sh
source lib/libbluray.sh
# Abhängigkeiten prüfen
bluray_check_dependencies
# Testlauf mit Blu-ray
copy_bluray_disk
📝 Changelog
Siehe CHANGELOG.md für alle Änderungen.
🤝 Beitragen
- Fork das Repository
- Erstelle einen Feature Branch (
git checkout -b feature/amazing-feature) - Commit deine Änderungen (
git commit -m 'Add amazing feature') - Push zum Branch (
git push origin feature/amazing-feature) - Öffne einen Pull Request
📜 Lizenz
MIT License - siehe LICENSE für Details.
🔗 Links
- disk2iso Core
- TMDB Module (optional)
- MQTT Module (optional)
💬 Support
- Issues: GitHub Issues
- Diskussionen: GitHub Discussions
- Core Projekt: disk2iso