Вопрос Как превратить изображения в слайд-шоу со звуком


У меня есть MP3-файл длиной 65 минут и 14 разных изображений (слайд-шоу).

Как объединить их в видеофайл размером менее 500 МБ?

Есть ли бесплатное / открытое / пробное программное обеспечение для Windows 7, которое может принимать 14 изображений и 65min MP3 @ 320kbs, и превратить их в AVI-файл с максимальной емкостью 500 МБ (для базовой учетной записи Vimeo)?


4
2017-11-13 16:11


происхождения


Это означает 3900 секунд для 14 изображений, что равно каждому изображению, отображаемому в течение 278 секунд. Или вы хотите зацикливать их и показывать их каждые 2 секунды, например? - slhck
Спасибо за редактирование. И, к сожалению, мне лучше пояснить: MP3-файл на самом деле состоит из 14 песен. Различная длина, поэтому изображения следуют песням (изменение изображения при окончании песни). - enloz
На стороне сжатия помните, как работает сжатие при попытке сохранить «анимацию» видео в размере (и сжатии ниже). все, что изменяет ВСЕ пиксели (растворяет, перемещает, сдвигает, масштабирует эффекты), берет много данных (обычно сжимает) эффекты, которые меняют меньше пикселей (разрезы, не движущиеся салфетки, салфетки шаблонов). Сжатие должно только изменять пиксели, которые меняются между кадрами. - Psycogeek


ответы:


Это для FFmpeg (глянь сюда для версий Windows).

Сначала подготовьте свои изображения, чтобы они были названы image-001.jpg, image-002.jpg, и т. д. Поместите их в одну папку.

Теперь используйте следующую команду:

ffmpeg -y -loop 1 -f image2 -r 0.5 -i image-%03d.jpg -s:v 1280x720 -b:v 1M \
       -i soundtrack.mp3 -t 01:05:00 -map 0:0 -map 1:0 out.avi

Вы можете, конечно, изменить параметры. Вот объяснение того, что они делают:

  • -loop_input - петли изображения. Отключите это, если вы хотите остановить кодировку, когда все изображения используются или саундтрек закончен.

  • -r 0.5 - устанавливает частоту кадров 0.5, что означает, что каждое изображение будет отображаться в течение 2 секунд. Просто возьмите обратный, например, если вы хотите, чтобы каждое изображение продолжалось в течение 3 секунд, установите его на 0,33.

  • -i image-%03d.jpg - используйте эти входные файлы. %03d означает, что для изображений будут трехзначные числа.

  • -s 1280x720 - устанавливает размер выходного кадра.

  • -b 1M - устанавливает бит. Вы хотите 500 МБ в течение одного часа, что равно 4000 Мбит в течение 3600 секунд, таким образом, должно быть достаточно битрейт приблизительно 1 Мбит / с.

  • -i soundtrack.mp3 - используйте этот файл саундтрека. Может быть любой формат.

  • -t 01:05:00 - установить длину вывода в hh:mm:ss формат.

  • out.avi - создать этот выходной файл. Измените его, как вам нравится, например, используя другой контейнер, например MP4.


9
2017-11-13 16:54



+1 .. и у меня есть только один вопрос. Могу ли я установить, например: «показать Image1 для 2мин, показать Image2 для 3мин ...»? Благодаря! - enloz
Поскольку вы не указали это раньше, я не мог догадаться. Я не думаю, что это возможно с FFmpeg. Там могут быть лучшие инструменты, подходящие для этого, такие как Windows Movie Maker. - slhck
Да, вам понадобится что-то с раскадрой, например Movie Maker. - surfasb


Windows DVD Maker является компонентом Windows 7 Home Premium и выше. Очень легко взять последовательность изображений и применить к ним саундтрек. Он не просто записывается на DVD - вы также можете сохранить файл.


2
2017-11-13 22:43





Я пытался создать видео с помощью нескольких изображений и звуковой дорожки. Следуйте этим шагам, как-то работает для меня:

  1. Создайте файл, в котором указаны путь и продолжительность изображения для каждого изображения. изображения list.txt

    file 'imgs/114_1.png'
    duration 9
    file 'imgs/114_2.png'
    duration 7
    file 'imgs/114_2.png'
    

    Примечание. Повторите последнее изображение дважды и не вводите продолжительность для последней записи.

  2. Создайте еще один файл, содержащий путь аудиофайлов аудио-list.txt

    file 1.mp3
    duration 9
    file 2.mp3
    duration 6
    
  3. Магия ffmpeg!

    ffmpeg -f concat -safe 0 -i img-list.txt -f concat -safe 0 -i audio-list.txt -c:a aac -pix_fmt yuv420p -crf 23 -r 24 -shortest -y -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4
    

1
2018-04-26 21:59





Выполните следующие действия:

  1. Создайте фильм с помощью Windows Movie Maker (вы можете указать длину отображения каждого неподвижного изображения)
  2. Кодировать в MP4 от Windows Movie Maker
  3. Транскодируйте видео в VidCoder, File Factory или аналогично - указав (например) 2FPS (не нужно 24FPS для неподвижных изображений) и сохраняйте высокое качество звука

0
2018-01-24 08:10