FFmpeg で0オリジンの連番ファイルを扱う

環境

  • OS Windows 10
  • ffmpeg version 4.1
    • Chocolatey 経由でインストール

本題

動画ファイルから連番画像ファイルを出力するときは以下のコマンドでできます。

$ 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