今回、ある事情から1枚の画像を数秒の動画にして表示したく、FFMPEGを使ってやってみることにしました。
もちろん、このくらいのことであればフリーの動画編集ソフトでもできると思いますが、フリーのソフトは有償版への切替を要求されたり、動作が重かったりと大概面倒なので、なるべく使いたくないという思いがあります。
また、バッチファイルから叩けるFFMPEGを使うと、一度に多数の動画を作ったりなど比較的柔軟なことができるため、今回はFFMPEGを使って1枚の静止画から動画を作成する部分をやってみたいと思います。
目次
今回の環境
・OS : Windows 10 Pro 64bit
・FFMPEG導入済
FFMPEGの実行バイナリファイルの入手の仕方は、過去記事をご参照ください。
利用方法
今回はただコマンドを掲載するだけでなく、簡単にFFMPEGのバッチを作る部分なども紹介していきます。
では、まず今回動画化する画像を1枚用意します。この画像はなんでも良いのですが、私は以下の画像を用意し、「test.jpg」という名前で保存しました。
では、用意した1枚の画像から、FFMPEGを使って3秒の動画にしてみたいと思います。
まず、作業用のフォルダを作成します。
適当な場所にffmpeg_testというフォルダを作成し、先ほどの「ffmpeg.exe」をコピーしてきました。加えて、先ほどのtest.jpgに加え、空のテキストファイルを作成しました。
このテキストファイルから「ffmpeg.exe」を叩くバッチファイルを作成していきます。
まず、テキストファイルのファイル名を「exec.bat」にリネームし、右クリック→編集でテキストエディタを開きます。
あとは、ffmpegで1枚の画像から3秒の動画を作成するコマンドを、このバッチファイルの中に記述していけば良いです。
今回は以下のようなコマンドを記述しました。
ffmpeg -loop 1 -i test.jpg -vcodec libx264 -pix_fmt yuv420p -t 3 -r 30 output.mp4
後は、上記のコマンドが記述されたファイルを保存して閉じ、exec.batをクリックすることで「output.mp4」という出力動画ファイルが作成されます。
少し簡単にコマンドを確認します。
-loop 1 -i test.jpg
の部分は入力に関する部分で、-loop 1のところでtest.jpgという入力を延々とループすることを意味します。また、-iオプションで入力画像の名前を設定します。
-vcodec libx264 -pix_fmt yuv420p -t 3 -r 30 output.mp4
-vcodecで動画の出力形式を指定します。libx264でH.264で出力することを示しますが、よくわからなければあまり気にしなくてよいでしょう。–
-tオプションで出力する動画の時間を示します。3を設定しているので3秒の動画になります。
-rオプションでfpsを示します。30なので30fpsの動画で出力されます。
まとめ
FFMPEGを使って1枚の画像から数秒の動画を作ってみました。
このように、FFMPEGではコマンドで簡単に動画の出力を行うことができます。