1

これは、OpenCV の特別なバージョンに関連する問題のように思えるかもしれません。ただし、ほぼすべての場所、特に StackOverFlow を検索しても、妥当な答えは見つかりませんでした。

VideoCapture ハンドルを使用して、OpenCV で ffmpeg でビデオ ファイルをロードしようとしています。OpenCV サンプル ディレクトリにある tree.avi サンプル ムービーの場合、ファイルは読み込まれますが、他のすべての avi ファイルでは次のエラーが発生します。

警告: ファイルを開く際のエラー (../../modules/highgui/src/cap_ffmpeg_impl.hpp:526)

hpp ファイルは、エラーが検出されたファイルのようであり、エラーを含むファイルではありません。ffmpeg は OpenCV と互換性がなく、ビデオ ファイルを開く別のライブラリを探し始めるか、OpenCV が独自のサンプルに対してのみ機能すると想定する必要があるとしか考えられません。誰かが何か考えを持っている場合は、共有してください。別のライブラリを使用して、OpenCV の代わりにエンコーディングを使用したさまざまな種類のファイルを開く必要がありますか?

4

4 に答える 4

3

OpenCV にはプラットフォームの依存関係があり、プラットフォームごとにコンパイルする方がよいようです。それに関する問題について私が行ったすべての検索を要約します。コーデックではなく、OpenCV 自体に由来する VideoCapture に問題がありました。OpenCVでも同様の問題があり、JPGファイルを開くことさえできませんでした。再コンパイルすることですべて解決しました。

Visual Studio 用に OpenCV をコンパイルする方法がわからない場合は、次のチュートリアルを参照してください: Visual C++ 2010 Express で OpenCV 2.4.3 をインストールする

于 2013-04-13T19:43:47.237 に答える
2

OpenCV 2.4.4 の場合: opencv_ffmpeg244.dll (リリース dll) のみがあり、opencv_ffmpeg244d.dll (デバッグ dll) はありません。

リリースコンパイルモードで試してみてください!

于 2013-07-22T08:08:31.413 に答える
2

OpenCV が FFmpeg を使用しているからといって、あらゆる種類のビデオ フォーマットをロードできるとは限りませ

AVIは、あらゆる種類のオーディオ/ビデオ コーデックを格納できる単純なコンテナです。OpenCV には、サポートされている形式を一覧表示するページがあります。

于 2013-04-09T15:52:00.383 に答える
1

独自の ffmpeg をコンパイルし (ここから最新のスナップショットを取得)、opencv を再度コンパイルする必要がある場合があります。構成ステップで出力を確認すると、次のように表示されます。

...
Video I/O--------------
Use QuickTime      no
Use xine           no
Use ffmpeg:        yes
Use v4l            yes
...
于 2013-04-09T16:54:05.173 に答える