von meiner Überlegung und diesem Artikel ausgehend, dachte ich mir, ich mache mich auf die Suche nach der besten Möglichkeit, aus "Standard" 4k Material (z.B. 8-Bit 4:2:0 von einer GH4) hochwertiges 1080p (4:4:4 10-Bit) zu konvertieren.
Erstaunlicherweise habe ich nicht allzu viel gefunden. Ein Thema in einem Forum sah allerdings vielversprechend aus. Dort hat Nutzer karl, dem ich an dieser Stelle danken möchte, eine sehr interessante Kommandozeile für den FFmpeg-Konverter geschrieben, die eben besagtes 4k 4:2:0 Material in 1080p ProRes4444 mit 10 Bit Farbtiefe umwandelt.
Das probiere ich gleich mal aus, dachte ich mir. Da ich selbst noch keine 4k-fähige Kamera besitze, habe ich mir von 4ksamples.com ein Beispielvideo mit ~100mbit/s heruntergeladen und einen 2-sekündigen Abschnitt (ca. bei 44 Sekunden) jeweils mit Adobe Premiere/Media-Encoder zu 300mbit/s H.264 und der besagten FFmpeg-Zeile in 1080p Video (~350mbit/s) konvertiert. Und siehe da, ein deutlicher Unterschied!
Das ist aber noch nicht alles: in den Konvertierungs-Optionen selber steht bei den flags "bicubic", was ich aus Photoshop vom Verkleinern/Vergrößern kenne.
Zum Vergleich habe ich anschließend mal einen Screenshot vom 4k-Material in PS verkleinert. (Bikubisch automatisch und Bikubisch schärfer lieferten dabei gleiche Resultate)
Das Ergebnis war, dass die Photoshop-Verkleinerungen deutlich schärfer waren als die FFmpeg- / Media-Encoder-Konvertierungen. Nach kurzer Recherche fand ich heraus, dass Photoshop beim Verkleinern leicht nachschärft.
Anmerkung: FFmpeg bietet zum Skalieren von Videos nicht nur "bicubic" an, sondern verschiedene Algorithmen an, die ich alle mal getestet hab, bei denen man aber keine oder wenn nur minimalste Unterschiede erkennen kann.
Hm. Und jetzt? Eine weitere schnelle Recherche ergab, dass FFmpeg wohl auch das Nachschärfen beherrscht. Nach ein paar Tests hatte ich dann eine Ergänzung für den die karl-Parameter, die dem Photoshop-Verkleinern sehr nahe kommen.
Zum Schluss hab ich das ganze noch in eine Windows Batch-Datei geschrieben und Drag-and-Drop-fähig (auch für mehrere Dateien) gemacht.
Hier der Text, der in die Batch-Datei gehört. Wem die Nachschärfung nicht gefällt, kann ",unsharp=3:3:1:3:3:1" gern entfernen/verändern.
Code: Alles auswählen
@echo off
:again
"C:\Program Files\FFmpeg\ffmpeg.exe" -i "%~1" -filter_complex "extractplanes=y+u+v[y][u][v]; [u] scale=w=iw*2:h=2160:flags=print_info+neighbor+bitexact [us]; [v] scale=w=iw*2:h=2160:flags=print_info+neighbor+bitexact [vs]; [y][us][vs]mergeplanes=0x001020:yuv444p,format=pix_fmts=yuv444p10le,scale=w=iw/2:h=1080:flags=print_info+bicubic+full_chroma_inp+full_chroma_int,unsharp=3:3:1:3:3:1" -sws_dither none -q 0 -quant_mat hq -c:v prores_ks -profile:v 4 -c:a copy -c:s copy -map 0 "%~1_2k_ProRes4444.mov"
shift
if "%~1" == "" goto:finish
goto:again
:finish
pause
Die Screenshots, da sehr groß (verlustfreie PNG), verlinke ich hier:
4k-Screenshot: Link
4k zu 2k mit Adobe Media Encoder: Link
4k zu 2k mit FFmpeg: Link
4k zu 2k mit FFmpeg + Nachschärfung: Link
Meinungen/Kritik zum Thema sind erwünscht. :)
Viele Grüße,
Bas3008