Downsampling von 4K-Material für eine Erhöhung des Chroma-Subsamplings

Wir haben eine Lumix GH-4 Kamera, die in 4K mit 4:2:2 Farbraum aufnehmen kann. Ich möchte das Filmmaterial in den Farbraum 1080p 4:4:4 konvertieren können. Ich habe gelesen, dass es einige Möglichkeiten gibt, dies zu tun:

http://www.dvxuser.com/V6/showthread.php?330608-GH4-Downsample-4K-to-1080p-10-bit-4-4-4 https://forums.adobe.com/thread/1483696

Aber ich kann keine endgültige Schritt-für-Schritt-Anleitung dafür finden.
Ich habe folgende Werkzeuge:

Adobe CS6 After Effects und Premiere.
Final Cut X oder 7.
Davinci Resolve v10

Geniale Frage. Ich gehe davon aus, dass die Antwort nein ist, aber ich würde mich freuen, wenn ich das Gegenteil beweise.
Nur eine Anmerkung: 4:4:4 ist keine höhere Tiefe , sondern nur eine höhere Auflösung . Ihr dynamischer Bereich ist derselbe, aber die Farben werden nicht unterabgetastet.
Guter Punkt - Titel aktualisiert
Dies ist sinnvoll, wenn Sie keine Luma-Auflösung von 3840 x 2160 benötigen, aber das Chroma nicht so stark herunterskalieren möchten. (dh Chroma von 1920x2160 auf 1920x1080 herunterskalieren, statt auf 960x1080). Dies erhöht nur die Chroma-Auflösung relativ zu Luma. In absoluten Zahlen verkleinern Sie immer noch sowohl Luma als auch Chroma . (Wenn Ihre Quelle 4k 4:2:0 wäre, könnte die Herunterskalierung auf 1920x1080 4:4:4 die Chrominanzebene unverändert lassen.)

Antworten (1)

Soweit ich weiß, erstellt ffmpeg mit den angegebenen Eingabedateien einen Rohbildpuffer, wendet dann Effekte wie Skalierung an und codiert dann. Wenn Sie also ffmpeg zum Skalieren und Codieren in einen 4:4:4-Codec verwenden, sollte es tun, was Sie wollen:

ffmpeg -i "my_gh4_422_4k.mov" -vf scale=1920:1080 -c:v prores -profile:v 4 -c:a copy "my_prores_444_1080.mov"

Es wäre interessant, dies zu testen, aber ich habe kein 4:2:2 4k-Material zur Hand. Ich glaube, ffmpeg macht auch dnxhd 444, aber ich kann keine Dokumentation finden, wie man es spezifiziert.

Hmm, habe das versucht, aber einen Fehler erhalten ... "Fehler beim Öffnen des Encoders für den Ausgabestream #0:0 - möglicherweise falsche Parameter wie Bit_rate, Rate, Breite oder Höhe" Ich glaube, ich habe ffmpeg mit Homebrew usw. korrekt installiert.
hmm, möglicherweise müssen Sie ein Pixelformat angeben. Versuchen Sie, -pix_fmt yuv444p10vor dem Ausgabedateipfad hinzuzufügen
ok werde es versuchen - sah auch diesen Fehler "[prores @ 0x7f9f520a8a00] unknown profile 4, use [0 - apco, 1 - apcs, 2 - apcn (default), 3 - apch] [prores @ 0x7f9f53000c00] ff_frame_thread_encoder_init failed"
vielleicht ffmbc installieren und sehen, ob du mehr Glück damit hast (gleicher Befehl nur mit ffmbc statt ffmpeg)…
Dies führt zu einem zusätzlichen Fehler "[NULL @ 0x7fb3c4055c00] Unable to find a matching output format for 'yuv444p10' yuv444p10: Invalid argument"
Dieser Fehler bedeutet normalerweise, dass Sie den Namen der Option verpasst haben und die Parameter so lesen, als wären sie die Ausgabedatei. Überprüfen Sie Ihre Eingabe. zB statt -pix_fmt yuv444p10 hätten Sie vielleicht einfach yuv444p10 eingegeben
Dies schien zu funktionieren: ffmbc -i "inputfile.MOV" -vf scale=1920:1080 -vcodec prores -profile hq -pix_fmt yuv444p10 -acodec pcm_s24le "my_prores_444_1080.mov"
würde wahrscheinlich -acodec copymehr Sinn machen, es sei denn, Sie möchten, dass das Audio als rohes PCM gespeichert wird. Und ja, das sollte ffmpeg dazu bringen, die Luma-Ebene horizontal und vertikal herunterzuskalieren und das Chroma nur in die Richtung herunterzuskalieren, in der es noch nicht unterabgetastet ist. (dh kein Upsampling auf 4:4:4 4k vor dem Herunterskalieren.) Möglicherweise möchten Sie -sws_flags lanczos+print_infoeine Herunterskalierung mit höherer Qualität als die standardmäßige bilineare (und das Drucken einer Zeile in der Ausgabe über die von swscale ausgewählten Optionen).