У меня есть набор инструментов, который производит кадры, которые обычно имеют размеры 1920x1080, но иногда 1919x1080 или 1920x1079. (Да, это ошибка. Пожалуйста, продолжайте читать.) Когда ffmpeg кодирует видео с него, с помощью команды вроде
ffmpeg -y -r 30 -i foo/%04d.png -vcodec h264 out.mp4
тогда он печатает такие замечания, как
Input stream #0:0 frame changed from size:1919x1080 fmt:rgb24 to size:1920x1080 fmt:rgb24
но эти кадры, а не изменяются в размере и включаются в out.mp4
, исключаются из out.mp4
.
Можно ли включить эти кадры? Я не нашел упоминания о непостоянном размере фрейма на форумах и в документации, но сам ffmpeg здесь утверждает, что изменяет размер фрейма. (Замечание напечатано в строке 1688 в ffmpeg.c. Там устанавливается флаг resample_changed
, который приводит к исправлению полей ширины и высоты InputStream *ist
.)
Дэвид Эллиман может сообщать о похожем поведении в ответе на https://stackoverflow.com/questions/18043841/ffmpeg-missing-image-frames-in-generated-video-from-images?rq=1 .