Я пробовал использовать ffmpeg как из репозиториев, так и из github. Я пробовал это (также пробовал с -c:v some_codec
):
ffmpeg -f image2 -framerate 24 -pattern_type glob -i 'frame-*.jpg' -s WxH 'foo.avi'
ffmpeg version N-90232-g0645698ecc Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.2.0-8ubuntu3.2)
configuration: --disable-x86asm
libavutil 56. 8.100 / 56. 8.100
libavcodec 58. 13.102 / 58. 13.102
libavformat 58. 10.100 / 58. 10.100
libavdevice 58. 2.100 / 58. 2.100
libavfilter 7. 12.100 / 7. 12.100
libswscale 5. 0.102 / 5. 0.102
libswresample 3. 0.101 / 3. 0.101
[image2 @ 0x5579541a5780] Could not open file : frame-*.jpg
[image2 @ 0x5579541a5780] Could not find codec parameters for stream 0 (Video: mjpeg, none(bt470bg/unknown/unknown)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, image2, from 'frame-*.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, none(bt470bg/unknown/unknown), 24 tbr, 24 tbn, 24 tbc
Output #0, avi, to 'foo.avi':
Output file #0 does not contain any stream
Введите изображения с такими именами:
frame1.jpg frame2.jpg ...
решение1
Опечатка
Ваши входные данные названы frame1.jpg
, frame2.jpg
и т.д., но в вашей команде есть опечатка.
Изменить frame-*.jpg
на frame*.jpg
.
Нулевой заполнитель
Поскольку в именах файлов нет нулевого заполнения ( frame1.jpg
vs frame01.jpg
), порядок кадров может быть неверным при использовании шаблона glob. Вы можете увидеть тот же эффект, используя ls
для просмотра файлов в каталоге. Чтобы избежать этого, используйте шаблон последовательности по умолчанию:
ffmpeg -framerate 24 -i frame%01d.jpg output.avi
-f image2
не нужен.
Не связано, но --disable-x86asm
не рекомендуется использовать его для сборки, так как это может привести к замедлению работы.