Это мой журнал при создании изображений из ffmpeg:

Incompatible pixel format 'yuvj420p' for codec 'mpeg4', auto-selecting format 'yuv420p'
[buffer @ 0x9e4f20] w:532 h:800 pixfmt:yuvj420p
[avsink @ 0x9f6240] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0xa86ac0] w:532 h:800 fmt:yuvj420p -> w:532 h:800 fmt:yuv420p flags:0x4
Output #0, mp4, to 'output2.mp4':
  Metadata:
    encoder         : Lavf53.21.1
    Stream #0.0: Video: mpeg4, yuv420p, 532x800 [PAR 1:1 DAR 133:200], q=2-31, 200 kb/s, 32 tbn, 32 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press ctrl-c to stop encoding
[buffer @ 0x9e4f20] Changing frame properties on the fly is not supported.
    Last message repeated 43 times
frame=    1 fps=  0 q=1.0 Lsize=      58kB time=0.03 bitrate=15312.1kbits/s    
video:58kB audio:0kB global headers:0kB muxing overhead 1.321295%

Это команда, которую я выполнил:

ffmpeg -r 32 -qscale 1 -i %05d.morph.jpg output2.mp4 

Файл output2.mp4 едва работает, так как показывает только одно изображение и длится всего одну секунду.

Куда я иду не так?

1 ответ1

0

Сообщение "Изменение свойств фрейма на лету не поддерживается" отправлено, потому что все ваши JEPG не имеют одинаковый размер (как 1-й 532x800)

Чтобы справиться с этим случаем, можно масштабировать все входные изображения JPEG до заданного размера:

ffmpeg -r 32 -qscale 1 -i %05d.morph.jpg -vf scale=532:800 output2.mp4 

Дополнительную информацию об изменении размера и масштабировании с помощью ffmpeg можно найти на этой странице.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .