ビデオの特定の間隔でフレームを抽出する必要があります(たとえば、40秒から50秒)。 C++で作業しています。 は、最初に私は、私はその後、私はすべての連続したフレームを取得するためにav_read_frameを使用してFFmpeg現在のフレームタイムスタンプを抽出する
static double t = 10 ;//time in seconds
int64_t timestamp = t * AV_TIME_BASE; //destination time
av_seek_frame(pFormatContext , -1 , timestamp + pFormatContext->start_time ,AVSEEK_FLAG_BACKWARD);
を読み始める必要がある位置を取得しています。 私が持っている問題は、いつ止めるべきかを知らないということです。私の終了間隔(例えば50秒)に達したことを確認するにはどうすればよいですか?
ありがとうございました。
こんにちはダニエル、一般的にこのメソッドは動作しています。しかし、av_seek_frameという問題があり、タイムスタンプの前に最後のキーフレームを返します。したがって私は少し前に私の10秒を数え始めました。その結果、私はその区間の最後のフレーム(約49 ...)を逃すことができます。これを解決する方法はありますか?ありがとう – kirbo
実際に求められているフレームのフレームインデックスを取得するAPI呼び出しがある場合を除いて、わかりません... –