ここ最近、試験的にタイムラプス動画をいくつか作ってますが、全てJPEGやTIFF等の静止画からFFmpegを使って動画に変換しています。
FFmpegは動画と音声を記録・変換・再生するためのソフトウェアで、誰でも無料で使えます。
一般の人が普段よく目にするソフトウェアと違って、UI(操作画面)の無い、コマンドプロンプト(Macの場合はターミナル)から実行するソフトウェアなので、慣れるまでが少し大変かもしれません。
しかし、一度インストールしてしまえば、後は基本的に毎回同じコマンド文をコピー&ペーストして実行するだけなので何も考えずに使えます。
インストール方法はGoogle先生に聞くと詳しく教えてくれると思います。
私の場合だと、cdコマンドで画像の置いてあるフォルダに移動してから、次のオプションを付けて実行しています。
ffmpeg -framerate 30 -pattern_type glob -i '*.jpg' -an -s 1920x1280 -an -b 24000k -vcodec libx264 -pix_fmt yuv420p -r 30 出力ファイルネーム.mp4
各オプションの説明
-pattern_type | この例では glob -i ‘*.jpg’ と指定することで、.jpgの拡張子が付いた画像ファイルをファイル名順に読み込みます。 |
-s | リサイズ。この例だと1920 x 1280 にリサイズするということ。 リサイズの必要が無ければ指定しなくてもいいです。 縦・横ともに2の倍数でないとエラーになるので注意。 |
-b | 動画のビットレート。この例だと24000k=約24MB/秒。M(メガ)での指定も可能。 この数字が大きいほど画質が良くなりますがファイルサイズも大きくなります。 どのくらいのビットレートがいいかについては、YouTubeの説明が参考になると思います。 基本的には、FFmpegで書き出した動画を後で動画編集ソフトで読み込んで各種編集や音を入れたりする作業をすることになると思うので、ここでは出来るだけ高画質にしておくのがいいと思います。 |
-framerate | フレームレート(1秒あたりのコマ数)。 例えば、元画像が150枚あったとしたら、フレームレート30で5秒の動画になります。 |
-r | ↑と同じ。-framerateは入力時、-rは出力時のフレームレートを指定するものなので両方指定するのがいいらしいです。 |
-an | 音声無しにする。 |
-vcodec | コーデックの種類。よくわからなければ、この例のように libx264 (H.264)を指定するのが無難です。 |
-pix_fmt | 色深度を指定。これもよくわからなければ yuv420p が無難です。 |
また、Mac限定ですが、画像を16bitのTIFFで書き出して下記オプションで変換すれば10bit色深度のProRes HQフォーマットで動画を作成できます。
ハードディスクを爆食いするのが難点ですが・・・。
ffmpeg -framerate 30 -pattern_type glob -i '*.tif' -an -r 30 -c:v prores_aw -profile:v 3 -pix_fmt yuv422p10le 出力ファイルネーム.mov