Как я могу извлечь изображение JPEG хорошего качества из видеофайла H264 с помощью ffmpeg?



В настоящее время я использую эту команду для извлечения изображений:




ffmpeg.exe-i 10fps.h264-r 10-f image2 10fps.h264_%03d.jpeg




но как я могу улучшить качество изображения JPEG?

729   1  

1 ответ:

использовать -qscale:v

использовать -qscale:v (или псевдоним -q:v) в качестве выходного параметра. Эффективный диапазон для JPEG составляет 2-31 с 31 худшим качеством. Я рекомендую попробовать значения 2-5.

вы можете добавить -huffman optimal для небольшого, но ощутимого уменьшения размера выходного файла.

для вывода серии изображений:

ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg

для вывода одного изображения на ~ 60 секунд продолжительность:

ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 -huffman optimal output.jpg

это будет работать с любым видеовходом. Видеть ниже, если ваш вход MJPEG.


MJPEG

если вы вводите MJPEG (Motion JPEG), то изображения могут быть извлечены без потери качества.

The ffmpeg или ffprobe консольный выход может сказать вам, если ваш вход MJPEG:

$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg

затем вы можете извлечь кадры с помощью mjpeg2jpeg bitstream filter:

$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg

см. Также

Comments

    Ничего не найдено.