🎞
FFmpegで写真と音声から動画を作成する方法
この記事について
この記事では FFmpeg を使って写真(連番画像)と音声から動画を作成する方法を紹介します。
おおまかな手順
おおまかな手順を下記に示します。
- FFmpegをインストールする
- 画像を用意する
- 音声を用意する
- コマンドを実行する
- 動作確認
FFmpegをインストールする
ブラウザで FFmpegのダウンロードページ にアクセスして実行可能ファイルをダウンロードすることができます。
macOSでは下記のコマンドを実行してFFmpegをインストールすることが可能です。
brew install ffmpeg
画像を用意する
ターミナルのスクリーンショットを撮影するなどして素敵な画像を何枚か用意します。
コマンドを実行する時のために画像のファイル名を下記のように変更します。
- image-01.png
- image-02.png
- image-03.png
- image-04.png
音声を用意する
音声は もっぴーさうんど さんが制作した ほんわかぷっぷー というBGMを利用させていただきました。コマンドを実行する時のために画像のファイル名を下記のように変更します。
- audio.mp3
コマンドを実行する
cd
コマンドを使って画像と音声が含まれるディレクトリに移動してから下記のコマンドを実行して動画を生成します。
ffmpeg \
-y \
-r 0.5 \
-i image-%02d.png \
-i audio.mp3 \
-vcodec libx264 \
-pix_fmt yuv420p \
-t 8 \
video.mp4
コマンドライン引数のついての説明を下記に示します。
- -y: 出力ファイルを上書きするためのオプションです。
- -r: 動画のフレームレートをHz単位で指定するオプションです。
- -i: 入力する画像や音声を指定するオプションです。
- -vcodec: ビデオのコーデックを指定するオプションです。
- -pix_fmt: ピクセルフォーマットを指定するオプションです。
- -t: 動画の長さを秒単位で指定するオプションです。
- video.mp4: 出力される動画のファイル名です。
動作確認
生成された動画をYouTubeにアップロードしましたので下記に示します。
おわりに
別の記事で紹介している ブラウザで写真を撮影する方法 や ブラウザで音声を収録する方法 とこの記事で紹介した写真と音声から動画を作成する方法を組み合わせることでブラウザで動画を撮影することができます。
ほとんどのブラウザでは MediaStream Recording API を利用できるのでわざわざ手間をかける必要はありませんが、何らかの事情で利用できない状況では代替手段として重宝します。
ちなみに MediaStream Recording APIを使って ブラウザで動画を撮影する方法 についても別の記事で紹介していますので興味がありましたら併せてご覧いただければ幸いです。
最後まで読んでいただきありがとうございました!
Discussion