Files
pvd/README.md
T
2026-05-07 18:00:52 +02:00

134 lines
4.0 KiB
Markdown

# 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.srt` vorhanden)
- **Informative Tkinter-UI** mit Analyse, Audio-Uebersicht und Encoding-Log
- **Amazon PVD optimierte Parameter** (Bitrate, Level, GOP, x264-Settings)
- **Saubere Metadaten** + `faststart` für beste Streaming-Performance
- Funktioniert mit Drag & Drop (`.bat` oder 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
1. Repo klonen oder herunterladen
2. `ffmpeg.exe` und `ffprobe.exe` in `C:\Software\` ablegen (oder Pfade im Script ändern)
3. Optional: `create_mezzanine.bat` anlegen:
```bat
@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
```
4. Tool starten:
```powershell
.\create_mezzanine.bat
```
5. In der UI Quelle auswaehlen, analysieren und Encoding starten.
Fuer automatisierte CLI-Laeufe kann das Encoding direkt gestartet werden:
```powershell
py -3 .\pvd_mezzanine.py --cli "C:\Pfad\zur\Quelle.mov"
```
## Ausgabe
Das Script schreibt die fertige Mezzanine-Datei standardmäßig nach:
```text
H:\VOD
```
Der MP4-Dateiname wird automatisch aus dem Quellpfad bzw. Blu-ray-Projektordner gebildet und endet auf:
```text
_DEU20_PVD.mp4
```
Bei ProRes-Quellen werden zusaetzlich Audio-MOVs erzeugt:
```text
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:
```text
Film_DEU51_ENG20.mov
```
- Spur 1: Deutsch 5.1
- Spur 2: Englisch 2.0
```text
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:
```text
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`:
```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.