Создание повествованного слайд-шоу из нескольких изображений и звуковых файлов - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть набор слайдов в формате jpg (s-00.jpg, s-01.jpg, ...) и набор аудиофайлов в формате mp3 (a-00.mp3, a-01.mp3 ...).

Я хотел бы создать mp4 с рассказанным слайд-шоу из этого:

  • s-00.jpg показывает, пока a-00.mp3 играет
  • s- 01.jpg показывает, когда a-01.mp3 играет
  • ...

Я уверен, что это относительно тривиально с ffmpeg, но я борюсь с синтаксисом. Все, что мне удалось выяснить, так это то, что я могу сделать видео из изображений с

ffmpeg -i s-%02d.jpg slideshow.mp4

. Я нашел много примеров, как добавить один mp3-файл ко всему слайд-шоу, но ничего не смог найти. это добавляет разные mp3 к каждому слайду.

1 Ответ

1 голос
/ 06 апреля 2020

Благодаря Роберту в комментарии выше я нашел ответ. Я написал bash скрипт, который делает это, а не пытается придумать сверхкомплексное решение ffmpeg:

# Create one video per slide
for file in *.mp3 
do
    number=$(echo $file | cut -f 1 -d '.')
    ffmpeg -y -loop 1 -i $number.jpg -i tmp-$file -c:v libx264 -c:a aac -b:a 192k -vf format=yuv420p -shortest $number.mp4


    echo "file '$number.mp4'" >> files.txt
done

# Merge videos
ffmpeg -y -f concat -safe 0 -i files.txt -movflags +faststart -c copy output.mp4


# Clean up
mv output.mp4 output.do_not_delete
rm *.mp4
mv output.do_not_delete output.mp4
rm files.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...