ZAPAnet総合情報局 > ZAPAブログ2.0 > 【タイムラプス】FFmpegで静止画から動画を作成する方法【CinemaDNG】

【タイムラプス】FFmpegで静止画から動画を作成する方法【CinemaDNG】

2013年10月04日 カメラ・写真
タイムラプス動画やCinemaDNGによるRAW動画など、静止画から高品質な動画を作成する技法がにわかに流行ってきています。

タイムラプス動画は、微速度撮影動画とも呼ばれ、一定間隔で撮影し続けた写真を動画にして、早送りにしたような仕上げ方として使われています。言葉で説明してもわかりづらいので、つまりは以下のような動画を作成する際に使われている技術です。高品質なRAW画像から動画を作成することができるため、ダイナミックレンジが広く、色やコントラストの表現力を高めることなども可能です。

The Arctic Light from TSO Photography on Vimeo.


CinemaDNGは、AdobeのRAW画像形式DNGの動画版で、12ビットや14ビットなどの高画質な連続した静止画ファイルから動画を作ることができます。CinemaDNGファイルは、LightroomやCaptureONE等で読み込みと編集が可能です。最近では、マイクロフォーサーズ互換マウントを採用した「Blackmagic Pocket Cinema Camera」(BMPCC)でCinemaDNGが採用されたり、「Magic Lantern」を使用して改造Canon EOS機によるCinemaDNG撮影からのRAW VIDEOを作ることが可能となり、一部で流行ってきています。以下のような、まるで映画のような仕上がりにすることも可能です。

5d MkIII Raw Video Test : 130 seconds in Vancouver from Grant Baldwin Videography on Vimeo.



CinemaDNGで撮影できる機材を自分は持っていないのですが、タイムラプス動画なら、一定間隔のインターバルで撮り続けられるカメラがあれば誰でも作れます。iPhoneでも「iTimeLapse」などのアプリでタイムラプス動画を作成することが可能です。ソニーのNEX-5Rなどもアプリを導入すれば簡単にタイムラプス動画が作れます。

今回は自動で動画が作れるアプリなどは使わずに、静止画から動画を作成する方法のメモでも残しておきます。フリーのFFmpegを使った方法です。

FFmpegの用意

FFmpegは、フリーの動画/音声用の変換ソフトで、多数のコーデック等に対応していて、昔から広く使われています。クロスプラットフォームで、Windows用のバイナリも配布されています。

■FFmpeg公式サイト

■Windows用の実行ファイルのダウンロード

FFmpegで静止画から動画を作成する手順

■動画作成用の静止画を用意
まずは、動画作成用の静止画を用意して、一つのフォルダにまとめておきます。あらかじめ出力動画と同じサイズの静止画にそろえておくと簡単です(フルHDなら1920x1080、HDなら1280x720など)。5桁の連番で00001から番号を振っておきます(4桁や3桁でも構いませんが、桁数は必ずそろえること)。
例:) 00001.jpg〜01000.jpg など

■Windowsのコマンドプロンプトを起動
Windowsでコマンドプロンプトを起動します。次に、コマンドプロンプト内で、ffmpeg.exeの置いてあるディレクトリに移動します(下記はffmpeg.exeを、Vドライブのffmpegフォルダに入れてある場合)。
cd /d V:\ffmpeg

■静止画から24fpsのmp4動画を作成
静止画から24fpsのmp4動画を作成します(静止画をffmpegフォルダ内のimages01内にまとめて入れてある場合)。「-r 24」のオプションで、24fpsを指定していします。30fpsや60fpsの場合は、それに合わせて数値を変えます。「-i images01/%05d.jpg」のオプションで、images01内の5桁の連番画像ファイルを指定しています。
ffmpeg.exe -r 24 -i images01/%05d.jpg -vcodec libx264 -qscale:v 0 video.mp4

■ビットレートを指定して動画を作成
ビットレートを指定したい場合は、以下のようにします(例では12Mbpsを指定)。「-b:v 12000k」のオプションで、 12Mbpsを指定しています。
ffmpeg.exe -r 24 -i images01/%05d.jpg -vcodec libx264 -b:v 12000k video.mp4

その他のパターンやオプションなど

以下、いくつかのパターンとオプションなど。

■動画サイズを変更
動画ビットレートを2000kbpsに、動画サイズを1280x720にして、24fpsのmp4動画を作成。
ffmpeg.exe -r 24 -i images01/%05d.jpg -vcodec libx264 -b:v 2000k -s 1280x720 video.mp4

■動画形式を変更
動画ビットレートを8000kbpsに、動画サイズを1280x720にして、24fpsのモーションJPEGのAVI動画を作成。
ffmpeg.exe -r 24 -i images01/%05d.jpg -vcodec mjpeg -b:v 8000k -s 1280x720 video.avi

■ヘルプファイルの確認方法
他にももっとオプションを知りたいという場合は、ヘルプファイルを確認します。
ffmpeg.exe -h all

■ヘルプファイルをテキストに出力して確認する方法
コマンドプロンプト内だと読みづらいので、テキストファイルに出力すると読みやすくなります。
ffmpeg.exe -h all > help.txt

■オプションの意味
今回使った動画変換オプションの意味をまとめておきます。
-r <rate>
フレームレートの設定(小数点第二位まで有効)。
23.98、24、25、29.97、30、50、59.94、60など。

-i images01/%05d.jpg
images01フォルダ内にある5桁の連番JPEGファイルを指定。00000からではなく、00001からであることに注意。
3桁の連番の場合は、%03dで指定。
BMPから作成したい場合は、.jpgから.bmpへ。

-qscale:v 0
動画品質。

-b:v <bitrate>
ビデオビットレートの設定(kbit/秒)。

-s <size>
フレームサイズの設定(WxH)。
1920x1080、1280x720など。

-vcodec <codec>
ビデオコーデックの設定。
libx264やmjpegなど。


以上、FFmpegで静止画から動画を作成する方法でした。