画像から動画を作る(スライドショー化)
静止画から動画を作ります。連番画像をつなぐ方法と、 1枚を一定時間表示する方法、BGMを付ける方法を押さえれば十分です。
1. 連番画像から動画を作る
img001.png, img002.png, … のような連番をつなぎます。
ffmpeg -framerate 2 -i img%03d.png -c:v libx264 -pix_fmt yuv420p slideshow.mp4
-framerate 2… 1秒あたり2枚(1枚0.5秒表示)-pix_fmt yuv420p… 多くのプレイヤー/SNSで再生できる互換設定
2. 1枚の画像を動画にする(指定秒数)
# 1枚を10秒間表示する動画
ffmpeg -loop 1 -i photo.jpg -t 10 -c:v libx264 -pix_fmt yuv420p -vf "scale=1280:720" out.mp4
3. 画像+音声で動画を作る
音声の長さに合わせて自動で終了させます(-shortest)。
ffmpeg -loop 1 -i photo.jpg -i audio.mp3 -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest out.mp4メモ
1枚絵+音声は、Podcast音源をYouTubeに上げるときの定番。Kindle紹介動画でも使えます。
サイズが奇数だとエラーになる場合
H.264は幅・高さが偶数である必要があります。自動で偶数に丸めるには次を加えます。
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2"