2011-11-09 13 views
0

ビデオとオーディオのデコードでスレッドを開始できるC++プロジェクトのシンプルなlibを探していますが、いくつかのフレームを取得できますか? 私は、サンプルコードでLIB APIや行動についての私の期待を説明しよう:ビデオファイルのシンプルなフレームグラバー

player = new Player("video.avi"); 
player->Play(); // lib start video decoding into internal hidden buffer 
        // and audio decoder start play sound from video file 
..... 
buffer = new .... 
player->SyncCopyCurrentFrameIntoBuffer(buffer); // copy last decoded frame into buffer 
.... 
play->Pause(); // lib freeze video and audio decoding 

は、誰かが私に何かをお勧めすることができますことができますか? (Win用)

答えて

0

libavcodec(もっと一般的には、ffmpegパッケージ)を見てみたいですか? http://ffmpeg.org

1

DirectShowは、フィルタ、ソース、エンコーダ、デコーダ、カラーコンバータ、レンダラなどの多数のフィルタで構成されるメディアパイプラインを作成できるMSテクノロジです。 DirectShowでは、次のようなグラフを作成できます。

Video source -> Sample grabber filter -> Video renderer 

グラフを再生して一時停止することができます。 sample grabberフィルタを使用すると、各サンプルがメディアパイプラインを通過するときにトリガされるコールバックを設定できます。

DirectShowは学習するのが最も簡単なフレームワークではないことに注意してください。しかし、あなたがしたいタスクは、いったんそれを掛けてしまえば、とても簡単に実行できます。 DirectShowには、C++やCOMの知識が必要です(MSDNのドキュメントで説明されています)。主なサポートは、非常に広範なMSDNドキュメンテーションとMS DirectShowフォーラムを介して行われます。

関連する問題