Преобразование серии jpg в файл mov на Ruby (или на любом другом языке)

Я делаю сайт на Ruby, на котором у меня есть серия изображений (почти как в PowerPoint), и мне нужно автоматически преобразовать эти изображения в один непрерывный видеофайл (mov, mpeg), который показывает каждое изображение в течение 5 секунд или около того. У кого-нибудь есть подсказки, с чего начать.

Я также открыт для использования другого языка, если есть инструменты для выполнения работы.


person xeroshogun    schedule 08.04.2015    source источник


Ответы (1)


Вероятно, вы могли бы использовать FFmpeg для этого. Вот пример из вики FFmpeg на эту тему :

ffmpeg -framerate 1/5 -i img%03d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p -movflags +faststart out.mp4

Что бы это сделало...

  • -i img%03d.jpg
    Чтение входных данных из серии файлов JPEG с именами img001.jpg, img002.jpg и т. д.
  • -framerate 1/5
    ...один кадр в пять секунд...
  • -c:v libx264
    ...затем превратите его в H.264/MPEG-4 AVC...
  • -r 30
    ...тридцать кадров в секунду...
  • -pix_fmt yuv420p
    ...с пиксельным форматом YUV420 (здесь действительно работают все флаги FFmpeg)...
  • -movflags +faststart
    ...после завершения кодирования переместите некоторые данные в начало файла, чтобы можно было начать воспроизведение до того, как файл будет полностью загружен...
  • out.mp4
    ...и сохраните в файле out.mp4.

Если бы вы использовали это из Ruby, вы, вероятно, запустили бы подпроцесс. Флаги будут аналогичными, если вам действительно нужен файл (QuickTime) .mov вместо H.264 MPEG-4.

person Wander Nauta    schedule 08.04.2015
comment
Это выглядит очень многообещающе. Спасибо за информацию! - person xeroshogun; 08.04.2015