ffmpeg: Höchste Konvertierungsqualität von 50i zu 50p, vergleichbar mit Adobe Premiere

3891
Jim Hoyle

Ich habe 50i-Filmmaterial (genauer gesagt mit 25 Bildern pro Sekunde, enthält aber Bewegungen auf den sekundären Feldern). Ich kann eine ziemlich gute Qualitätsumwandlung in 50p von Adobe Premiere erhalten, indem ich einfach als Frame Rate 50, Progressive, exportiere. Ich bin auch in der Lage, die gleiche Konvertierung mit ffmpeg unter Verwendung von Parametern wie:

ffmpeg.exe -y -i INPUT.MOV -b: v 12000 KB -vcodec libx264 -filter: v yadif = 1, format = yuv420p -acodec-kopie OUTPUT.MP4

(oder mit -qp 0)

Das Problem ist, es gibt erheblich schlechtere Kompressionsartefakte im Ergebnis von ffmpeg für Objekte, die sich bewegen. Selbst bei einer sehr hohen Bitrate (viel höher als bei Premiere). Warum das? Im Grunde hilft es überhaupt nicht, wenn ich "-preset veryslow" hinzufüge. Gibt es noch andere Parameter, um diese Bewegungskomprimierungsartefakte loszuwerden? Premiere liefert schöne, saubere Ergebnisse, während ffmpeg ein wenig JPEG-Aussehen erzeugt (auch ein bisschen Kämmerei).

0
Sind Sie sicher, dass der Deinterlacing-Algorithmus nicht fehlerhaft ist? Ich schlage vor, Sie nehmen eine Szene, in der das Problem sehr sichtbar ist, und speichern diese Szene ohne Komprimierung. Übrigens: Verwenden Sie CRF, keine Bitrate. Daniel B vor 9 Jahren 0

1 Antwort auf die Frage

0
user1978011

Ihre Vermutung ist richtig, dass die Videoqualität nichts mit der Videocodierung zu tun hat, sondern der Deinterlace-Filter. Sie verwenden yadif, aber wenn Sie mit der Qualität nicht zufrieden sind einen Blick auf die anderen Deinterlacing - Filter haben kerndeint, mcdeintund w3fdif. Nutzungsdetails und -optionen finden Sie in der ffmpeg-Dokumentation .

Danke, es geht ja wohl mehr um den Deinterlace-Filter. Hier sind die Ergebnisse: Ich konnte nicht mit 50 fps (nur 25 fps) arbeiten und es war sowieso eine schlechte Qualität. `-crf 0 -Filter: v yadif = 1: 0, mcdeint = 2: 1: 10, format = yuv420p` war wahnsinnig langsam, wurde aber fast so gut wie Premiere produziert, allerdings noch schlechter (sogar mit crf 0). `w3fdif` Ich konnte weder für 50 Bilder pro Sekunde noch für Deinterlacing arbeiten. Ich würde es sehr begrüßen, wenn jemand Parameter bestätigen könnte, die funktionieren. Jim Hoyle vor 9 Jahren 0
Können Sie eine kleine Probe Ihres Videos zur Verfügung stellen? user1978011 vor 9 Jahren 0
Vielleicht reicht es aus, wenn ich ein [Bild] (http://postimg.org/image/4p36e5ruh/) zeige - in diesen Screenshots gibt es eigentlich keinen großen Unterschied, aber das Bild oben ist etwas schlechter. Ich habe etwas Text auf die Bilder geschrieben, es sollte also selbsterklärend sein. Jim Hoyle vor 9 Jahren 0
Eigentlich sehe ich dort keinen großen Unterschied. Ohne ein korrektes Sample ist es unmöglich, die richtigen Filtereinstellungen zu veröffentlichen, sorry ... user1978011 vor 9 Jahren 0
Ich habe mich geirrt, dass Premiere ein gutes Deinterlace hat. Es gibt kein Deinterlace, nur Felder verdoppeln. Nur mit etwas Material, wenn Felder verdoppelt und in 50 Bildern pro Sekunde angezeigt werden, kann es gut aussehen, aber bei Vektorgrafiken flackert es und sieht absolut schrecklich aus. Yadif scheint ziemlich gut zu sein, aber es hat z. B. zwei Buggy-Bilder, die ineinander greifen, wenn ein Video in eine Vektorgrafik oder in ein Vektorbild geschnitten wird. Sehr ärgerlich, das nicht lösen zu können. Jim Hoyle vor 8 Jahren 0
@JimHoyle "zwei Frames für fehlerhaft aussehende Interlacing-Effekte", dies könnte die automatische Feldparitätserkennung sein, siehe [hier] (https://ffmpeg.org/ffmpeg-filters.html#yadif-1). Sie können dies manuell einstellen, indem Sie yadif = parity = ttf verwenden phiresky vor 7 Jahren 0