私はflvビデオを持っていて、3s
の最初のキーフレームの後のビデオの長さを00:39
の後で打ち切りたいとします。私は映画の冒頭から 第二十三分で1つの画像フレーム(out1.jpg)を生成しますffmpeg seeking
のdocument、ここffmpeg PICT_TYPE_Iキーフレームを検索した後のビデオのダンプの長さ
ffmpeg -ss 00:23:00 -i Mononoke.Hime.mkv -frames:v 1 out1.jpg
この例で見積もりを準備ができて。入力はキーフレームを使用して解析された になります。これは非常に高速です。 FFmpeg 2.1以降、 ffmpegによるトランスコード(ストリームコピーだけでなく)の場合、-ssは入力オプションとして使用されても「フレーム精度」である になりました。以前の の動作(精度が正確に でない場合でも、最も近い直前のキーフレームのみを検索する)は、-noaccurate_seekオプションを使用して復元できます。
だから私は、私は、このコマンドを使用する場合(-i
前-ss
を入れて)だと思う
ffmpeg -noaccurate_seek -ss 00:39 -i input.flv -r 10 -s 720x400 -t 3.12 dump.flv
そして、これは3.12s
を最後のビデオをダンプし、右00:39
後の最初のkeyframe
で始める必要がありますか?結局のところ、これは私が必要なものです。
結果はdump.flv
で始まり、keyframe
で始まらず、つまりPICT_TYPE_I
フレームです。
私はすべてkeyframe
開始時間がffprobe
であることを知り、これを達成するための時間を求める-ss
を再計算することができます。しかし、より良い方法がありますか?
音声もありますか? – Mulvya
いいえ、音声は問題ありません – armnotstrong