1

Кажется, есть несколько способов конвертировать изображения в видео, но все они, похоже, позволяют показывать каждое видео фиксированное количество времени. Кто-нибудь знает способ сценария создания видео из файлов изображений, который позволяет вам указать длину, чтобы показать каждое изображение?

Например

magicSoftware.exe out=video.mp4 | in=file1.png time=100ms | in=file2.png time=400ms

1 ответ1

0

Я не могу думать о каком-либо инструменте, который может сделать это как простую одноразовую команду; вы можете, однако, конвертировать ваши изображения по отдельности в видео (различной длины), а затем объединять эти видео вместе - я бы использовал ffmpeg для этого.

ffmpeg -f image2 -loop 1 -i input1.png -t 6 -crf 22 -preset veryfast 01.ts
ffmpeg -f image2 -loop 1 -i input2.png -t 9 -crf 22 -preset veryfast 02.ts
ffmpeg -f image2 -loop 1 -i input3.png -t 4 -crf 22 -preset veryfast 03.ts

-t устанавливает продолжительность вывода в секундах. Вы также можете использовать доли секунд, так что -t 2.2 даст вам 2,2 секунды. Если вы хотите указать длину в терминах видеокадров, вы можете использовать -vframes of frames:v ; по умолчанию эта команда выдаст вам 25 кадров в секунду. Затем объедините файлы MPEG TS вместе в один MP4:

ffmpeg -i "concat:01.ts|02.ts|03.ts" -c copy output.mp4

Конечно, можно было бы написать это (я знаю, как я это сделаю в bash, но я не знаю скриптов в Windows).

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