2016-11-30 6 views
1

ffmpegを使用して、特定のビデオファイルから10ビデオフレームを抽出したいと考えています。ffmpegを使用したビデオフレームの簡単な出力選択

ffmpeg -i input.mp4 -vf fps=1/10 out%03d.jpg 

は、10秒ごとに1つの画像を出力するなど、いくつかの方法でこれを行うことができます。しかし、これはビデオの長さに比例して私の好みやスケールには遅すぎます。私は非常に迅速に、ビデオの第五秒に追求し、1つのフレームを抽出します例

ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 out001.jpg 

ため、ffmpegののシーク機能について少し読みました。しかし、私は、上記のコマンドをさまざまな時に繰り返し呼び出すことなく、ビデオ内の複数の場所を探す方法を見つけ出していません。

これを実行する方法は簡単ですか?長いコマンドを使用

+0

動画の再生時間は知っていますか? – Mulvya

+0

私はffmpeg/ffprobeでそれを非常に素早く取得できるので、選択したフレームを「配信」する時間は問題になりません。私は上記の方法よりもすばやくそれをやりたいのです。 – Shaun

+0

'-i'の前の' ss'のみが高速シークを行います。すべてのフレームがデコードされ、評価された後、保存されたり破棄されたりするので、 'select'のようなフィルタの使用後または使用後の' ss'は、より多くの時間がかかります。 – Mulvya

答えて

1

、これは

などを行うことができ

ffmpeg -ss 00:00:05 -i input.mp4 
     -ss 00:01:05 -i input.mp4 
     -ss 00:03:05 -i input.mp4 
     -ss 00:40:05 -i input.mp4 
     -map 0:v -frames:v 1 out001.jpg 
     -map 1:v -frames:v 1 out002.jpg 
     -map 2:v -frames:v 1 out003.jpg 
     -map 3:v -frames:v 1 out004.jpg 
関連する問題