FFmpegを利用して、動画ファイルから一定間隔で静止画を出力する方法を備忘録的に投稿しておきます。
フレームレートの確認が必要
ffmpegを利用して、動画ファイルから一定間隔で、PNG形式などの画像ファイル形式で出力できます。
その際、[-r]オプションで入力する数値のためにフレームレートを確認しておきます。
具体的には、こんな感じで出力できます。
ffmpeg -i sample.mp4 -ss 0 -t 1 -r 1 -vcodec png output_%03d.png
利用しているオプションは次の通り
-i sample.mp4:出力元動画ファイル
-ss 0:開始時間(秒)[省略可能]
-t 1:経過時間(秒)[省略可能]
-r 1:秒間で出力する数
-vcodec png:出力する画像形式[省略可能]
output_%03d.png:出力するファイル名(”%03d”は0埋めした3桁の数値)
フレームレートが30の場合は[-r 30]にするとすべてのコマが出力される計算になります。
[-r 0.1]のように1未満の数値を指定すると長い間隔で画像を出力できます。
具体的には
ffmpeg -i sample.mp4 -ss 0 -t 60 -r 0.1 -vcodec png output_%03d.png
開始後から60秒までの間に10秒間隔で画像ファイルが出力されます。
まとめ
今回は短い記事ですが、FFmpegを利用して動画ファイルから一定間隔で静止画を出力する方法について書きました。
[FFmpeg]で動画ファイルから一定間隔で画像を出力したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。