Actuellement, j'utilise cette commande pour extraire les images:
ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_% 03d.jpeg
Mais comment puis-je améliorer la qualité de l'image JPEG?
-qscale:v
Utilisation -qscale:v
_ (ou l'alias -q:v
) en tant qu'option de sortie. La plage efficace pour JPEG est comprise entre 2 et 31, 31 étant la pire qualité. Je recommande d'essayer les valeurs de 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
Cela fonctionnera avec n'importe quelle entrée vidéo. Voir ci-dessous si votre entrée est MJPEG.
Si vous saisissez MJPEG (Motion JPEG), les images peuvent être extraites sans perte de qualité.
La sortie de la console ffmpeg
ou ffprobe
peut vous indiquer si votre entrée est MJPEG:
$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg
Ensuite, vous pouvez extraire les cadres en utilisant le mjpeg2jpeg
filtre de flux binaire :
$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg