Add JSON configuration and path discovery

This commit is contained in:
Melbar
2026-05-07 18:27:02 +02:00
parent 184f56091b
commit 37310d9335
3 changed files with 198 additions and 25 deletions
+49 -9
View File
@@ -22,12 +22,12 @@
- **Saubere Metadaten** + `faststart` für beste Streaming-Performance
- Funktioniert mit Drag & Drop (`.bat` oder direkt auf Script ziehen)
## Voraussetzungen
## Voraussetzungen
- Windows (getestet)
- FFmpeg + FFprobe (in `C:\Software\` oder Pfad in Script anpassen)
- FFmpeg + FFprobe im `PATH`, in `C:\Tools\FFMPEG` oder in `C:\Software`
- Python 3.10+
- Schreibzugriff auf den Ausgabeordner `H:\VOD`
- Schreibzugriff auf den Ausgabeordner `F:\VOD` oder `H:\VOD`
## Installation & Nutzung
@@ -129,14 +129,54 @@ Film_forced.srt
## Konfiguration
Die wichtigsten Pfade stehen oben in `pvd_mezzanine.py`:
Die wichtigsten Parameter stehen in `config.json`. Wenn die Datei fehlt, wird sie beim Start mit Default-Werten erzeugt.
```python
FFMPEG_EXE = r"C:\Software\ffmpeg.exe"
FFPROBE_EXE = r"C:\Software\ffprobe.exe"
OUTPUT_BASE_DIR = r"H:\VOD"
```json
{
"ffmpeg": {
"ffmpeg_exe": "",
"ffprobe_exe": "",
"search_dirs": [
"C:\\Tools\\FFMPEG",
"C:\\Software"
]
},
"output": {
"base_dir": "",
"preferred_dirs": [
"F:\\VOD",
"H:\\VOD"
]
},
"video": {
"hd_bitrate": "30M",
"hd_maxrate": "35M",
"hd_bufsize": "50M",
"sd_bitrate": "8M",
"sd_maxrate": "10M",
"sd_bufsize": "15M"
},
"audio": {
"mp4_bitrate": "256k",
"sample_rate": "48000",
"pcm_codec": "pcm_s24le"
}
}
```
FFmpeg wird in dieser Reihenfolge gesucht:
1. Explizite Pfade aus `ffmpeg_exe` und `ffprobe_exe`
2. `PATH`
3. `C:\Tools\FFMPEG`
4. `C:\Software`
Das Zielverzeichnis wird so bestimmt:
1. `output.base_dir`, wenn gesetzt
2. erstes vorhandenes Verzeichnis aus `output.preferred_dirs`, standardmaessig `F:\VOD`, dann `H:\VOD`
3. falls keines existiert, der erste Preferred-Dir-Wert
## 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.