とある動画があったとして、例えば5秒毎にその再生位置の画像を生成したい。
$ ffmpeg -i 01.mp4 -vf fps=12/60 "%03d.jpg"
ffmpeg でこんなふうにすると良いらしい。秒数の指定が逆数になるのが何とも言えない。ところでファイル名は上記のような連番よりも、分-秒.jpg という形のほうがありがたいのだが。どうすれば良いのだろうか。
ググってみると、-strftime 1 というスイッチを付加するとそんな感じのプレースホルダが有効になるのだそうだ。なるほど。きっと基準時間はその時々の再生位置なのだろう素敵だ。
とか思いつつ試してみたところ、基準時間は普通に現在時刻だった。いや、そうじゃないだろ! いや、そうじゃないだろ! 保存時のタイムスタンプが欲しい時に使うためのものなのかな。
これをどうすれば良いのかは調べてもよく分からなかったので、とりあえず連番で出力するようにし、適当なスクリプトでそれをリネームするようにした。