0

ビデオからフレームを抽出する最速の方法をテストした人はいますか?

-アフォージ

- Emgu CV (OpenCV)

-アビファイル

-ffmpeg _

また、使用するビデオの形式とコーデックは?

FullHD ビデオ ファイル (1920 x 1080) のランダム フレームを 10 ミリ秒未満でキャプチャする必要があるとしましょう...可能ですか?

私は Aforge と Avifile ライブラリでそれをやろうとしました。フレーム1,2,3,4,5、・・・を抽出すればOK

しかし、この 1,2,200,40000 のようなランダム フレームが必要な場合は、500 ミリ秒かかることもあります。(ポインターがストリーム内の場所を見つける前)。

任意の提案をいただければ幸いです。

4

1 に答える 1

1

ランダム フレームにアクセスする際の重要な要素は、使用しているコーデック、その一時的な圧縮、I フレームをシークする機能です。関心のある正確なタイム スタンプではなく、最も近い I フレームをシークしても問題ありません。一時的な圧縮のため、[通常は内部的に透過的に行われますが、これは明らかに処理オーバーヘッドに追加されます] 最も近いキー フレームを探し、そこから要求された位置までフレームごとに進める必要がある場合があります。

AForge、EmguCV、OpenCV は、ファイルを直接操作する API 上のラッパーにすぎないため、最速にすることはできません (これらは、基になるアクセス メソッド + 追加のオーバーヘッドです)。FFmpeg、および Windows API (AVIFile、DirectShow、Media Foundation) は、実装の品質に応じて、特定の形式/コーデックに対して良くも悪くもなる可能性があります。

于 2013-06-23T09:10:34.183 に答える