質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

Q&A

解決済

1回答

3920閲覧

動画から静止画を上書き保存する方法

culuculu

総合スコア52

FFmpeg

FFmpegは、動画と音声を交換できるフリーソフトウェアです。UNIX系OSから派生した、MS-DOSから操作するコマンドラインツールです。libavcodecやlibavformat、libswscale、libavfilterなどを含みます。ライセンスは、コンパイルの際のオプションによりLGPLもしくはGPLに決定されます。対応コーデックや使用できるオプションが多く、幅広く利用されています。

0グッド

0クリップ

投稿2016/11/30 01:20

編集2016/11/30 04:02

動画ファイルから1秒ごとの静止画を取り出すことをサイトで見たのですが、この方法で画像を取り出して行った場合、画像が連番として1秒に1枚ずつの画像が保存されます。(コマンドは下記に記載します。)

ffmpeg -i example.avi(入力動画ファイル) -ss 0 -r 1 -f image2 test.png(動画から得られた静止画ファイル)

これを別々に複数の状態で保存するのではなく、上書き保存する方法はないでしょうか?
動画の0秒目から最後までの動画が流れている間に、1秒間に1枚ずつ画像として保存されて行っていると思いますが、上書きされていくので1秒目の保存された画像に2秒目の保存された画像が上書きするということです。
最終的に、動画最後のフレームの画像だけが保存されている状態にしたいです。
ここで重要なのは最後の画像だけ保存するということではないです。

もしわかる方がいれば、教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ffmpegの -y というオプションは「出力時に既存の同名ファイルを警告無しに上書き」という役割を持っていますのでそちらで実現できると思います。

投稿2016/11/30 01:39

TAKAYASU

総合スコア146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

culuculu

2016/11/30 03:10

-yのコマンドはサイトで拝見したことがあったのですが、例えば上記のコマンドではどこに記載すればいいのかわかりませんでした。 最初は、-iのところを-yに書き換えるのかと思い、実行して見たのですが、エラーが出てしまい、他の箇所に-yを記載しても変化がありませんでした。 -yの使い方がわかりません。 もしよろしければ教えていただけないでしょうか?
TAKAYASU

2016/11/30 03:23

-iは書き換える必要はありません。 他の場所に-yを記載したと書かれてますが、どのあたりでしょうか・・・・ 例えば、-iの手前に-yを付け加えたりしてみましたか?
culuculu

2016/11/30 03:38 編集

しました。 しかし、動画の0秒目の画像が保存されただけで上書き保存はされていませんでした。 下記のサイト内のコマンドを参考にしました。 参考にしたサイト:http://digitechlog.com/2009/02/03/ffmpeg-is-a-complete-solution-to-record-convert-and-stream-audio-and-video.html 他のサイトも拝見したのですが、動画から違う拡張子の動画へ変換するのはあったのですが動画から静止画へ変換するコードに-yを用いたものが見つかりません。
TAKAYASU

2016/11/30 03:43

ところで、-fコマンドが二つあるのはどういった意図があるのでしょうか? 私は-fを複数使ったことがないのでよくわからないのですが。。。 ffmpeg -i example.avi -ss 0 -r 1 -f image2 test.pngではだめなのでしょうか?
culuculu

2016/11/30 04:03 編集

すみません。記入ミスでした。 正しくは下記のようになります。 ffmpeg -i example.avi(入力動画ファイル) -ss 0 -r 1 -f image2 test.png(動画から得られた静止画ファイル) はい。ffmpeg -i example.avi -ss 0 -r 1 -f image2 test.pngとしてもダメでした。 ffmpeg -y -i example.avi -ss 0 -r 1 -f image2 test.pngでもダメでした。 実行した後、エラー内容が「could not get frame filename number 2 from pattern」だったので調べたところ、フレームファイルの2つ目以降が取得できてないようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問