Derzeit verwende ich diesen Befehl, um die Bilder zu extrahieren:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_% 03d.jpeg
Aber wie kann ich die JPEG-Bildqualität verbessern?
Derzeit verwende ich diesen Befehl, um die Bilder zu extrahieren:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_% 03d.jpeg
Aber wie kann ich die JPEG-Bildqualität verbessern?
Antworten:
-qscale:v
Verwenden Sie -qscale:v
(oder den Alias -q:v
) als Ausgabeoption. Der effektive Bereich für JPEG beträgt 2-31, wobei 31 die schlechteste Qualität ist. Ich empfehle Werte von 2-5 zu versuchen.
ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg
ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 output.jpg
Dies funktioniert mit jedem Videoeingang. Siehe unten, wenn Ihre Eingabe MJPEG ist.
Wenn Sie MJPEG (Motion JPEG) eingeben, können die Bilder ohne Qualitätsverlust extrahiert werden.
Die Ausgabe ffmpeg
oder ffprobe
Konsole kann Ihnen sagen, ob Ihre Eingabe MJPEG ist:
$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg
Anschließend können Sie die Frames mit dem mjpeg2jpeg
Bitstream-Filter extrahieren :
$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg
-qmin 1 -qmax 1
zusätzlich -q:v 1
die Dateigröße verdoppelt. Und ich kann auch eine sehr leichte Verbesserung feststellen.
-qmin 1 -qmax 1
führte zu einer größeren Datei, gibt mir aber genau das gleiche Bild. Ich habe dies über Photoshop, 2 Ebenen und Differenzfilter validiert. Die Pixel sind gleich.
-qmin 1 -q:v 1
.
Geben Sie die Bilder in einem verlustfreien Format wie PNG aus:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_%03d.png
Verwenden Sie dann ein anderes Programm (in dem Sie Qualität, Unterabtastung und DCT-Methode genauer angeben können - z. B. GIMP), um die gewünschten PNGs in JPEG zu konvertieren.
Auf diese Weise können etwas schärfere Bilder im JPEG-Format erhalten werden, als dies mit -qmin 1 -q:v 1
JPEG direkt von und bei der Ausgabe als JPEG möglich ist ffmpeg
.
ffmpeg
gibt PNG8
Dateien aus, die nur 256 Farben verwenden (wie GIF). es ist also eigentlich sehr verlustbehaftet.
ffmpeg
] Befehl, ich hohe Qualität png erhalten , die von gleicher Qualität auf dem Original - Video sind.“ Welche Version von verwenden ffmpeg
Sie, die PNG8
Dateien ausgibt , und welches Eingabeformat haben Sie?
identify image.png
das Ergebnis "8-Bit" ist, wenn es eigentlich nicht wirklich einkanaliges 8-Bit ist, sondern 8-Bit für R, G und B. IDK, wie der durchschnittliche identify
Benutzer verstehen soll das tho.