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

eyecatch_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 ・・・

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

東京都内で仕事をしています。猫飼いたいです。30歳からピアノ始めたおじさんです。盆栽にも興味が出てきました。
最近ブログ用のTwitterアカウントを作成したので、是非フォローをしてください。@zakkiboooks

 コメントをどうぞ

  • 入力いただいたメールアドレスは公開されませんが、このブログが置いてあるサーバーに保存されます。
  • 入力いただいた情報の他に、WordPress の機能により IPアドレス を取得させていただきます。取得した IPアドレス はスパムコメントの対処ために利用され、公開することはありません。
  • 個人情報などを記入された場合、投稿いただいたコメントを表示しないか、該当箇所を編集して公開する可能性があります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。