0

現在、mpeg4 エレメンタリ ビデオ ストリームに基づいて正確なシークを実行できるプレーヤーの開発を試みています。私は計画段階にあり、物事をどのように進めるかを決めようとしています。始める前にアドバイスが欲しいです. 注意すべき点は次のとおりです。

  • ファイルのエンコーディングを完全に制御できます。
  • 元のコンテンツは I フレームのみになります
  • FFmpeg はエンコード/デコード ライブラリです。
  • オーディオは今のところ無視できます。ビデオストリームのみを扱います。
  • フレームの正確なシークを実装する必要があります

したがって、コンテンツをエンコードするときに、どのタイプのフレーム (I、P、B) がエンコードされているかを照会して、シーク操作用の追加のインデックス ストリームを構築できますか。そうでない場合は、エンコード後に GOP を照会して I フレームを見つけることができます。

再生に関しては、ユーザーは特定の時間を入力してそのフレームに移動できる必要があります (現時点では、最も近い I フレームが適しています)。GOP が閉じており、長さがかなり短い (たとえば 15 フレーム) と想定できます。私の考えは、エンコード中に作成したインデックス ストリームをクエリし、要求された時間のストリームへの関連する距離を決定することです。

ファイルを再生するときに FFMpeg ライブラリを使用してシークする方法がわかりません。

誰かが似たようなことをしたことがありますか?

4

0 に答える 0