FFmpeg で0オリジンの連番ファイルを扱う
環境
本題
動画ファイルから連番画像ファイルを出力するときは以下のコマンドでできます。
$ ffmpeg -i video.mp4 in\%d.png
この時出力される連番ファイルは1オリジン、つまり1.png
から始まります。
0オリジン、つまり0.png
から出力したいときは以下のようにします。
$ ffmpeg -i video.mp4 -start_number 0 in\%d.png
この0オリジンの連番画像ファイルから、また連番画像を出力したい場合(例えばPNG からJPG に変換するなど)、 以下のコマンドを実行するとどうなるでしょうか。
ffmpeg in\%d.png out\%d.jpg
この場合、0オリジンで入力され、1オリジンで出力します。
そして、出力の連番ファイル数は入力の連番ファイル数と同じになります。
具体的に言えば、
in フォルダに0.png
から9.png
までの連番ファイルがあるとすれば、
out フォルダに1.jpg
から10.jpg
までの連番ファイルが出力されます。
入力が0オリジンの連番ファイルを扱うとき、以下のような書き方はしなくてもいいみたいです(私はずっとこのように書いてました)。
ffmpeg -start_number 0 -i in\%d.png out\%d.jpg
上記のコマンドでも同じく0オリジンで入力され、1オリジンで出力します。
出力を0オリジンにしたければ、以下のようにします。
ffmpeg -i in\%d.png -start_number 0 out\%d.jpg