高速かつ正確なFFmpegシークコマンドが必要です。これを見つけました。
解決策は、-ss
入力(高速シーク)と出力(正確なシーク)の両方に適用することです。しかし、入力シークが正確でない場合、シーク位置が正確であることをどのようにして確認できますか?
例:00:03:00にシークしたい場合、コマンドは次のようになります。
ffmpeg -ss 00:02:30 -i <INPUT> ... -ss 00:00:30 <OUTPUT>
最初の人-ss
はそうではなく00:02:30
、他の場所を探します00:02:31
。そして、2番目のシークを適用した後、最終結果は00:03:01
- 私たちが望むものではありません。あれは正しいですか?
最初の人はどこ-ss
を目指しますか?最も近いキーフレームを探し00:02:30
ますか?
もしそうなら、ここに私の考えがあります-私が間違っているなら私を修正してください:最初のシークの後、結果のタイムスタンプを取得し(この例00:02:31
では:)、適切な時間でこのシークで2番目のシークを適用します00:00:29
。
質問:最初のシーク結果のタイムスタンプを取得するにはどうすればよいですか?