4.0 KiB
Amazon PVD Mezzanine Encoder
Automatisches Python-Tool zur Erstellung von Amazon PVD-konformen Mezzanine-VOD-Dateien und Audio-Master-Dateien (ProRes • Blu-ray • DVD • PAL • NTSC • Interlaced)
Features
- Vollautomatische Erkennung von SD/HD, PAL/NTSC und interlaced Material
- ProRes-Quellen mit mehreren Tonspuren werden unterstuetzt
- Audio-Sprache und Layout aus Dateinamen (
DEU51_ENG20,DEU20, usw.) - HD-PVD-MP4 mit 30 Mbit/s und deutscher Stereo-Spur
- Automatischer Downmix von deutscher 5.1-Spur auf Stereo, wenn keine deutsche Stereo-Spur vorhanden ist
- Separate PCM-Audio-MOVs fuer deutsche Tonspuren und originalsprachige Tonspuren
- Bester Deinterlacer (
bwdif mode=0) → saubere 25 fps bei PAL-DVDs (kein Double-Framerate) - Automatische Farbraum-Konvertierung (Rec.601 PAL/NTSC ↔ Rec.709) inkl.
colorspace-Filter - Forced Subtitles werden automatisch eingebrannt (wenn
_forced.srtvorhanden) - Informative Tkinter-UI mit Analyse, Audio-Uebersicht und Encoding-Log
- Amazon PVD optimierte Parameter (Bitrate, Level, GOP, x264-Settings)
- Saubere Metadaten +
faststartfür beste Streaming-Performance - Funktioniert mit Drag & Drop (
.batoder direkt auf Script ziehen)
Voraussetzungen
- Windows (getestet)
- FFmpeg + FFprobe (in
C:\Software\oder Pfad in Script anpassen) - Python 3.10+
- Schreibzugriff auf den Ausgabeordner
H:\VOD
Installation & Nutzung
- Repo klonen oder herunterladen
ffmpeg.exeundffprobe.exeinC:\Software\ablegen (oder Pfade im Script ändern)- Optional:
create_mezzanine.batanlegen:@echo off set "PYTHON_EXE=%LocalAppData%\Programs\Python\Python311\python.exe" if exist "%PYTHON_EXE%" ( "%PYTHON_EXE%" "%~dp0pvd_mezzanine.py" %* ) else ( py -3 "%~dp0pvd_mezzanine.py" %* ) pause - Tool starten:
.\create_mezzanine.bat - In der UI Quelle auswaehlen, analysieren und Encoding starten.
Fuer automatisierte CLI-Laeufe kann das Encoding direkt gestartet werden:
py -3 .\pvd_mezzanine.py --cli "C:\Pfad\zur\Quelle.mov"
Ausgabe
Das Script schreibt die fertige Mezzanine-Datei standardmäßig nach:
H:\VOD
Der MP4-Dateiname wird automatisch aus dem Quellpfad bzw. Blu-ray-Projektordner gebildet und endet auf:
_DEU20_PVD.mp4
Bei ProRes-Quellen werden zusaetzlich Audio-MOVs erzeugt:
Titel_DEU_AUDIO_PCM.mov
Titel_OV_AUDIO_PCM.mov
Wenn nur deutsche Tonspuren vorhanden sind, wird nur Titel_DEU_AUDIO_PCM.mov erzeugt.
ProRes-Audio-Namen
Die Sprache und das Tonformat der Tonspuren werden aus dem Dateinamen gelesen. Die Tokens stehen in der Reihenfolge der Audiospuren im ProRes.
Beispiele:
Film_DEU51_ENG20.mov
- Spur 1: Deutsch 5.1
- Spur 2: Englisch 2.0
Film_DEU20_DEU51.mov
- Spur 1: Deutsch 2.0
- Spur 2: Deutsch 5.1
- Es wird nur eine deutsche PCM-Audio-MOV erzeugt.
Untertitel
Forced Subtitles werden automatisch eingebrannt, wenn neben der Quelle eine gleichnamige Datei mit dem Suffix _forced.srt liegt.
Beispiel:
Film.mkv
Film_forced.srt
Audio-Ausgabe
- Das PVD-MP4 bekommt immer deutschen Stereo-Ton.
- Wenn eine deutsche 2.0-Spur vorhanden ist, wird sie verwendet.
- Wenn keine deutsche 2.0-Spur vorhanden ist, wird die erste deutsche Spur auf Stereo heruntergemischt.
- Alle deutschen Tonspuren werden als uncompressed PCM in eine separate MOV geschrieben.
- Alle nicht-deutschen Tonspuren werden als uncompressed PCM in eine separate MOV geschrieben.
Konfiguration
Die wichtigsten Pfade stehen oben in pvd_mezzanine.py:
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.