ffmpegを使って動画キャプチャもできる。
ffmpegを使って動画のフレームをキャプチャする方法
例えば、動画の冒頭5秒をスキップし、その後は1秒刻みでフレームをキャプチャして cap_01.jpg、cap_02.jpg、cap_03.jpg … という連番ファイルに保存したい場合には、以下のようにオプションを指定してffmpegを実行する。
ffmpeg -i inputvideo.mp4 -s 640x480 -ss 5 -r 1 cap_%02d.jpg
-s 640×480 は静止画像のサイズ指定で単位はピクセル。
-ss 5 は冒頭5秒をスキップする指定。
-r 1 はキャプチャするフレームレートで単位はフレーム/秒。もしキャプチャ間隔を長くしたければ、小数で指定することもできる。例えば、2秒ごとに1フレームキャプチャしたければ0.5と指定すればよい。ちなみに、ffmpegの仕様なのか、0.05未満の値は指定できないみたい。より短い間隔でキャプチャしたければ、ちょっと面倒だけど、大きめのフレームレートを指定して多目に画像ファイルを作成した後、不要なファイルを間引くようにすると良いだろう。
cap_%%02d.jpg は出力ファイル名の指定。連番指定にはprintfライクな書式指定が使える。