ffmpeg で複数の動画から静止画書き出し、など。ワンライナー備忘録。

記事書き始め時点のバージョン
※ OS X Yosemite(10.10.5)
※ ffmpeg 2.8.6

静止画を書き出す

開始地点(-ss)はソースの指定(-i)より手前に置く

FFmpegで素早く正確に動画をカットする自分的ベストプラクティス – Qiita

ということで、動画についての記述ですが、シークについては静止画もかわらないんじゃないかなとおもいますので、その方針に習いたいと思います。

1つだけ静止画を書き出す

$ ffmpeg -ss 1 -i aaa.mov -vframes 1 -f image2 %04d.png
  • -i:ファイル指定
  • -ss:抜き出し始点・・・1秒
  • -vframes:指定したフレーム数だけ書き出し・・・1つ
  • -f image2 %04d.png:書き出しファイル名・・・[0001.png]から連番

複数のファイルから静止画を書き出す

find と xargs とかで出来るかと思ったら出来なかった(よくわからなかった)。for 文を使うと出来た。

for i in `find . -name "*.mov"` ; do ffmpeg -ss 1 -i $i -vframes 1 -f image2 $i%04d.png ; done

ちょっとファイル名が残念な感じになりますが、まぁ。

画像大量過ぎる fps調整

1秒あたり30コマの動画で抽出対象時間を1分間にすると1800枚も画像ができてしまうので、フレームレートを落とす。

-r の後に fps で指定。

$ ffmpeg -ss 1 -r 5 -i aaa.mov -vframes 10 -f image2 %04d.png

0.1fps にしても代わり映えのない静止画が並ぶ、、、

画像大量過ぎる 特定フレーム抽出

$ ffmpeg ・・・

この辺を参考にさせていただいているのですが、うまく行かず・・・あとで調査を、。

コメントを残す

  • コメント欄には個人情報を入力しないようにしてください。

  • 入力いただいたメールアドレスは公開されませんがサーバーに保存されます。
  • 入力いただいた情報の他に、IPアドレスを取得させていただきます。取得した IPアドレス はスパム・荒らしコメント対処ために利用され、公開することはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください