Currently I am using this command to extract the images:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_%03d.jpeg
But how can I improve the JPEG image quality?
Currently I am using this command to extract the images:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_%03d.jpeg
But how can I improve the JPEG image quality?
-qscale:v
Use -qscale:v
(or the alias -q:v
) as an output option. Effective range for JPEG is 2-31 with 31 being the worst quality. I recommend trying values of 2-5.
ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg
ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 output.jpg
This will work with any video input. See below if your input is MJPEG.
If you input is MJPEG (Motion JPEG) then the images can be extracted without any quality loss.
The ffmpeg
or ffprobe
console output can tell you if your input is MJPEG:
$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg
Then you can extract the frames using the mjpeg2jpeg
bitstream filter:
$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg
-qmin 1 -qmax 1
in addition to -q:v 1
doubled the file size. And I can seem to see a very slight improvement also.
– complistic
Jun 27 '15 at 0:43
-qmin 1 -qmax 1
resulted in larger file, but gives me an exact same image. I validated this via photoshop, 2 layers and difference filter. The pixels are the same.
– cherouvim
Nov 30 '15 at 15:41
-qmin 1 -q:v 1
.
– llogan
::...
或是邮件反馈可也:
askdama[AT]googlegroups.com
订阅 substack 体验古早写作:
关注公众号, 持续获得相关各种嗯哼: