DPX Dateien in ein 4K HDR Videoformat konvertieren
Endlich ist es soweit: 4K HDR kommt so langsam auch in meinen Demos an. Und da ich von unserem Content-Lieferanten immer „Beste Qualität“ als Ausgangsmaterial verlange, liegen gerade über 300GB an DPX Dateien auf meiner Festplatte. Insgesamt sind das etwas über 6000 Einzelbilder in 4096×2160 Auflösung und 32bit pro Kanal.
Da diese Datenmenge nur schwer handhabbar ist, wollte ich die Einzelbilder zunächst in einem möglichst hochqualitativen Video zusammenfügen. Und da meine Videoencoder das Dateiformat DPX nicht kennen (Mediacoder, TMpegEnc) oder aber kaum Ausgabeoptionen in 10 bit Farbtiefe anbieten (Adobe Premiere, Handbrake), musste ich direkt auf ffmpeg zurückgreifen. Man kann jedoch nicht einfach ein beliebiges ffmpeg Binary verwenden, sondern muss darauf achten, dass ffmpeg mit Unterstützung für libx265 und 10bit kompiliert wurde.
Ein passendes Windows Binary fand ich hier: FFmpeg with HEVC (8/10 bit) and HE-AAC
Das nötige Kommando, um die Einzelbilder zusammenzufügen und sich gleichzeitig eine ausgedehnte Arbeitspause zu genehmigen, lautet:
ffmpeg-hi10-heaac.exe -start_number 0 -r 23.976 -i input-filename.%04d.dpx -vframes 6000 -vcodec libx265 -pix_fmt yuv420p10le -crf 10 output-filename.mp4
- -i Wie heißen die Eingabe Dateien (Mit einem Platzhalter für den Variablen Zähler, z.B. -input-filename.%04d.dpx)
- –start-number Mit welcher Nummer startet das durchnummerierte Eingabebild (z.B. -start_number 1 wenn das erste Bild input-filename.0001.dpx heißt)
- -r Mit wie vielen Bildern pro Sekunde wird das Video gerendert (z.B. -r 23.976)
- -vframes Wieviele Bilder sollen gerendert werden (z.B. -vframes 6000 rendert alle Bilder input-filename.0001.dpx bis input-filename.6000.dpx)
- -vcodec Welcher Videocodec kommt zum Einsatz (z.B. -vcodec libx265 )
- -pix_fmt Welcher Farbraum wird verwendet (z.B. -pix_fmt yuv420p101e = YUV 4:2:0 mit 10 bit Farbtiefe)
- -crf Der Constant Rate Factor, welcher die Kompressionsstärke pro Frame definiert. Je niedriger desto besser ist die Qualität und desto größer wird die Ausgabedatei (z.B. -crf 10)