Я пытаюсь извлечь отдельные кадры из необработанного видеопотока AVC. Я делаю это с помощью следующей команды ffmpeg:ffmpeg -q 1 -i video_test.avc -f image2 frames/frames_%04d.jpg
Проблема, с которой я сталкиваюсь, заключается в том, что первые несколько кадров выглядят хорошо. Я включаю пример ниже.
Затем извлеченные кадры становятся все хуже, и к тому времени, когда я добираюсь до 17-го кадра, они становятся действительно блочными.
Вы получаете сырое видео по этой ссылке .
Есть ли вариант, который я упускаю? Я заметил, что FFMPEG на моем Mac работает должным образом и генерирует хорошие кадры, но FFMPEG на моем рабочем сервере с Ubuntu демонстрирует эту проблему.
Есть ли вариант, который я упускаю?
Нет, но размещение опций имеет значение. Параметры перед вводом применяются к вводу, а параметры перед выводом обычно применяются к выводу. Исключение составляют глобальные опции. См. краткий обзор FFmpeg и описание FFmpeg для получения более подробной информации о размещении параметров.
Следовательно, вы должны переместить свой вариант -q
(псевдоним для ):-qscale
ffmpeg -i video_test.avc -q:v 2 frames/frames_%04d.jpg
-f image2
здесь излишен, так как ffmpeg знает, что ваши выходные данные являются изображениями.-q:v
энкодера mjpeg
2-5; ниже - выше качество.-q
, поскольку ffmpeg не может знать, следует ли его применять к видео или аудио, поэтому в вашем случае используйте -q:v
. Это хорошая практика, хотя это не имеет значения для вашего ввода, поскольку у вас нет звука.Я заметил, что FFMPEG на моем Mac работает должным образом и генерирует хорошие кадры, но FFMPEG на моем рабочем сервере с Ubuntu демонстрирует эту проблему.
Ubuntu больше не использует FFmpeg:
Поскольку я не использую вилку, мой ответ может вам не подойти.
Разработка FFmpeg очень активна, и всегда полезно использовать последнюю версию. Два основных способа его получения:
-q 1
что сделало это. Спасибо.
Эй Джей Хендерсон
Каденторанжевый
Эй Джей Хендерсон
Каденторанжевый