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

76

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

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

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

Что не так с текущим качеством, кроме того, что оно не "хорошее"? bjoernz

Ваш Ответ

1   ответ
160
Use -qscale:v

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

To output a series of images:
ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg
To output a single image at ~60 seconds duration:
ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 output.jpg

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

MJPEG

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

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
Also see FFmpeg FAQ: How do I encode movie to single pictures? FFmpeg Wiki: Create a thumbnail image every X seconds of the video
@complistic:-qmin 1 -qmax 1 привело к увеличению файла, но дает мне точно такое же изображение. Я проверил это через фотошоп, 2 слоя и разностный фильтр. Пиксели одинаковые.
Можете ли вы опубликовать полную командную строку, которую вы используете? Также, пожалуйста, опубликуйте полный, неразрезанный вывод из ffmpeg в командной строке. Обратите внимание, чтоplacement из параметров имеет значение, поэтому -qscale: v 2 необходимо поместить после параметра -i inputfile, но перед параметром выходного файла, чтобы иметь какой-либо эффект.
Это, кажется, не имеет никакого эффекта - qscale 1 и 2 дают одинаковые размеры файлов и (на мой взгляд) выглядят так же, как и без qscale.
Для меня добавление-qmin 1 -qmax 1 в дополнение к-q:v 1 удвоил размер файла. И я могу также увидеть очень небольшое улучшение.
@Kostanos Вы можете попробовать-qmin 1 -q:v 1.

Похожие вопросы