Im RGB-YUV422-Konvertierung mit ffmpeg, falsche Farben
Ich versuche, die Umwandlung eines 8-bit RGB unkomprimiert auf eine mpeg2-mxf-Datei (xdcam HD 422 1080 50i), die YUV422. Mit info aus dem FFMpeg-docs und verschiedenen websites, die ich aus den folgenden Befehl ein:
./ffmpeg -y -i test_lines.mov -pix_fmt yuv422p -vcodec mpeg2video -non_linear_quant 1 -flags +ildct+ilme -top 1 -dc 10 -intra_vlc 1 -qmax 2 -vtag xd5c -rc_max_vbv_use 1 -rc_min_vbv_use 1 -g 12 -b:v 50000k -minrate 50000k -maxrate 50000k -bufsize 8000k -acodec pcm_s24le -ar 48000 -bf 2 -ac 2 lines_HD.mxf
Dieser gab mir ein Ergebnis mit den Farben viel heller als das original.
So, ich habe versucht, das hinzufügen der Optionen -color_range 1 -colorspace 1 -color_primaries 1 -color_trc 1
aber dies scheint nicht, etwas zu tun.
Nach dem hinzufügen colormatrix=bt601:bt709
ich habe einen Weg, besseres Bild, aber etwas dunkler als das original und es fühlt sich auch seltsam Angabe dieser option dazu, die Quelle ist auch in der REC709-Farbraum, also warum geben Sie es anders?
Weiter habe ich regeneriert meine Quelle Bild ein YUV-codec (prores) und erneut FFMpeg auf es mit die Farben kommen Prima. Deshalb denke ich, dass es sich um eine RGB -> YUV-problem.
Hat jemand eine Idee, wie dies richtig? Ich kann screenshots der unterschiedlichen Ergebnisse, die auf einem Videoskop, sobald ich zurück bin im Büro, wenn jemand interessiert ist.
Letzte, ich weiß es gibt verschiedene Themen berühren das Thema, aber entweder Sie gehen den Weg über meinen Kopf FFmpeg weisen oder bringen mich auf die Bühne, wo ich schon bin.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sehen habe die Bilder also nicht wissen, wie viel es abweicht, aber ich hoffe, Sie tun, erkennen, gehen von RGB-dekomprimiert, um unkomprimierte YUV422 ist irreversibel und verlustbehaftet. 422p impliziert subsampling der chroma-Komponente. Auch von unkomprimierten zu MPEG2 ist eine zusätzliche Quantisierung ist verlustbehaftet, auch wenn Ihre quant-parameter ist 2.
Mein Vorschlag Kodieren YUV422 y4m ersten. Sicherzustellen, dass Sie glücklich mit, dass. Dann ändern Sie das output-codec mpeg2. Damit ist Ihre Farbe-Konvertierung wird zunächst sichergestellt, um genau zu sein. Dann MPEG2 wird eine eigene Verlust oben drauf.
Alten, aber relevanten thread:
https://lists.ffmpeg.org/pipermail/ffmpeg-user/2012-July/007833.html
Vergaß zu erwähnen, dass Sie müssen hinzufügen, die colormatrix-option. Das ist richtig. Der link oben sollte das alles erklären hoffentlich