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:vVerwenden 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 ffmpegoder ffprobeKonsole 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 mjpeg2jpegBitstream-Filter extrahieren :
$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg
-qmin 1 -qmax 1zusätzlich -q:v 1die Dateigröße verdoppelt. Und ich kann auch eine sehr leichte Verbesserung feststellen.
-qmin 1 -qmax 1fü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 1JPEG direkt von und bei der Ausgabe als JPEG möglich ist ffmpeg.
ffmpeggibt PNG8Dateien 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 ffmpegSie, die PNG8Dateien ausgibt , und welches Eingabeformat haben Sie?
identify image.pngdas 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 identifyBenutzer verstehen soll das tho.