diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8225d28 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +.env +__pycache__/ +*.py[cod] +*.log +*.mp4 +*.tmp diff --git a/README.md b/README.md index b1c9ecb..3fe1459 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,10 @@ ## Voraussetzungen -- Windows (getestet) -- FFmpeg + FFprobe (in `C:\Software\` oder Pfad in Script anpassen) -- Python 3.8+ +- Windows (getestet) +- FFmpeg + FFprobe (in `C:\Software\` oder Pfad in Script anpassen) +- Python 3.8+ +- Schreibzugriff auf den Ausgabeordner `H:\VOD` ## Installation & Nutzung @@ -28,6 +29,54 @@ 2. `ffmpeg.exe` und `ffprobe.exe` in `C:\Software\` ablegen (oder Pfade im Script ändern) 3. Optional: `create_mezzanine.bat` anlegen: ```bat - @echo off - python "%~dp0pvd_mezzanine.py" %* - pause \ No newline at end of file + @echo off + python "%~dp0pvd_mezzanine.py" %* + pause + ``` +4. Videodatei per Drag & Drop auf `create_mezzanine.bat` ziehen oder direkt aus der Konsole starten: + ```powershell + python .\pvd_mezzanine.py "C:\Pfad\zur\Quelle.mkv" + ``` + +## Ausgabe + +Das Script schreibt die fertige Mezzanine-Datei standardmäßig nach: + +```text +H:\VOD +``` + +Der Dateiname wird automatisch aus dem Quellpfad bzw. Blu-ray-Projektordner gebildet und endet auf: + +```text +_DEU20_PVD.mp4 +``` + +## Untertitel + +Forced Subtitles werden automatisch eingebrannt, wenn neben der Quelle eine gleichnamige Datei mit dem Suffix `_forced.srt` liegt. + +Beispiel: + +```text +Film.mkv +Film_forced.srt +``` + +## Audio-Auswahl + +Das Script bevorzugt automatisch eine deutsche Audiospur (`ger` oder `deu`). Wenn keine deutsche Spur erkannt wird, fragt es interaktiv nach der gewünschten Spur. + +## Konfiguration + +Die wichtigsten Pfade stehen oben in `pvd_mezzanine.py`: + +```python +FFMPEG_EXE = r"C:\Software\ffmpeg.exe" +FFPROBE_EXE = r"C:\Software\ffprobe.exe" +OUTPUT_BASE_DIR = r"H:\VOD" +``` + +## Git-Hinweis + +Die lokale `.env` enthält Zugangsdaten und wird absichtlich nicht versioniert. Neue Änderungen sollten zusammen mit einer passenden README-Aktualisierung committed und nach `main` gepusht werden.