動画を機械学習されるあたり、画像に変換する必要があったのでメモ。なんかググって一番最初に出てきたサイトのオプションではできなかったので注意
1秒毎に〜枚画像を生成したい場合
-rオプションをつけることで指定フレームごとに抽出できる。以下のように-r 2
をつけると1秒あたり2枚の画像を出力する。動画が1分あれば120枚の画像が出力されるはず。
ffmpeg -i input.mp4 -r 2 -vcodec mjpeg image_%04d.jpg
〜秒毎に1枚画像を生成したい場合
fpsオプションで可能。以下は1秒毎に画像を出力したい場合
ffmpeg -i input.mp4 -filter:v fps=fps=1:round=down image_%04d.jpg
fpsはframe per second の略で、「1秒あたりのフレーム数」という意味である。つまり、値を小さくすればその分秒が伸びる。以下は10秒毎
ffmpeg -i input.mp4 -filter:v fps=fps=0.1:round=down image_%04d.jpg
分数でも表記可能 以下は1分ごと
ffmpeg -i input.mp4 -filter:v fps=fps=1/60:round=down image_%04d.jpg