planet-green.com

気の向くままに。» 雑記ブログ😬

[備忘録] FFmpegで複数の静止画からタイムラプス(微速度撮影)動画を作る

ここ最近、試験的にタイムラプス動画をいくつか作ってますが、全てJPEGやTIFF等の静止画からFFmpegを使って動画に変換しています。

(作例については、例えばこの記事この記事とか)

FFmpegは動画と音声を記録・変換・再生するためのソフトウェアで、誰でも無料で使えます。

一般の人が普段よく目にするソフトウェアと違って、UI(操作画面)の無い、コマンドプロンプト(Macの場合はターミナル)から実行するソフトウェアなので、慣れるまでが少し大変かもしれません。

しかし、一度インストールしてしまえば、後は基本的に毎回同じコマンド文をコピー&ペーストして実行するだけなので何も考えずに使えます。

インストール方法はGoogle先生に聞くと詳しく教えてくれると思います。

Windowsへのインストール方法

Macへのインストール方法

 

私の場合だと、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

次へ 投稿

前へ 投稿

返信する

* 画像に書かれている英数字を入力してください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

© 2024 planet-green.com

テーマの著者 Anders Norén


planet-green.com