Ich versuche, "ProRes 4444"-Filme mit ffmpeg zu codieren. Einige Recherchen führten mich zum Encoder "prores_ks", der der einzige der prores-Encoder von ffmpeg ist, der "4444" unterstützt.
Ich habe diesen Befehl verwendet, um es auszuprobieren (Eingabe ausgeschlossen):
-c:v prores_ks -f mov -profile:v 4444 test.mov
Dadurch wird ein ProRes 4444-Film erstellt. Die Farben erscheinen jedoch dunkler als die ursprüngliche Eingabe. Nach einiger Recherche bin ich auf diese Option gestoßen:
-vf colormatrix=bt601:bt709
Das Hinzufügen dieses Filters scheint das Problem zu beheben. Die Dateigröße ist jedoch aus irgendeinem Grund erheblich größer. Außerdem mag ich die Idee nicht, dass während dieser Codierung ein Filter durchgeführt werden muss, da ich die höchstmögliche Qualität haben möchte. Kennt jemand eine Möglichkeit, diese "Farbverschiebung" ohne Videofilter zu überwinden?
Ich glaube, das Problem liegt darin, wie FFMPEG standardmäßig die RGB-> YUV-Konvertierung durchführt. Diese Option gibt die Verwendung des bt709-Farbraums für die Konvertierung anstelle des Standardfarbraums bt601 an. Dies behebt es für mich - aber lassen Sie es mich bitte wissen, wenn ich hier etwas Schlechtes mache!
-vf scale=out_color_matrix=bt709
Benutzer12174
Benutzer12174
Bryan Fordney
Benutzer12174
Bryan Fordney
ffmpeg -r 24 -i colorbars_8bit.png -c:v prores_ks -profile:v 4444 colorbars_prores_ks.mov
: file.io/SeKH8IBryan Fordney