У меня возникли проблемы с кодированием последовательности изображений (которые могут начинаться не с 0000) в avi
ffmpeg -y -f image2 -framerate 30 -start_number 560 -i "images_%04d.png" -an -vcodec rawvideo -pix_fmt bgr24 video.avi
Работает, но это несжатый .avi (и поэтому огромного размера). Поэтому мы пробуем закодировать его с помощью xvi:
ffmpeg -y -f image2 -framerate 30 -start_number 560 -i "images_%04d.png" -vcodec xvid video.avi -an video.avi
Только это не помогает, пишет неизвестный кодировщик 'xvid'. Я могу конвертировать изображения в xvid .avi в VirtualDub - я просто хочу узнать, как это сделать через командную строку в FFMPEG
решение1
Вам необходимо использовать имена кодеков, распознаваемые ffmpeg. Для MPEG-4 часть 2 это либо "mpeg4", собственный кодировщик FFmpeg, либо внешняя библиотека кодирования "libxvid". Поэтому ваша команда должна включать -vcodec mpeg4
или -vcodec libxvid
.
Полный список кодеков, поддерживаемых ffmpeg, генерируется ffmpeg -codecs
. Вы также можете запустить ffmpeg -encoders
или ffmpeg -decoders
, если хотите быть более конкретными. Чтобы перечислить частные параметры (они специфичны для каждого кодировщика), используйте ffmpeg -h encoder=mpeg4
.