- 47 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 12:37:30 ]
- DirectShowの質問です。
ムービーの動画をテクスチャに移して加工した上で表示させたいと思い、 ネット上のサンプルを読み漁ってとりあえず組んでみたのですが 以下の疑問点が発生しました。 どなたかわかる方が居ましたら、答えていただければありがたいです。 1. ムービーファイルの画像を「1枚ずつ」「任意のタイミングで」取得する方法はありますか? 現在のコードでは、DirectDrawに再生させておいて 描画時にテクスチャを取得して再生する、という構造になっています。 おそらく別のスレッドで再生させているのだとは思いますが このシステムでは、負荷でメインスレッドのFPSが落ちた場合などに 当然ながら同期のズレが発生してしまいます。 (動画とメインループのフレームの比率が変化してしまうため) アプリ側から任意のタイミングでフレームを進めることはできますでしょうか? 2. 実際に再生させるルーチンまでは作れたのですが 動画ファイルの読み込みに250msほど時間がかかってしまいます。 特にIGraphBuilderのRenderFileメソッドが非常に重く、 ここだけで200ms持って行かれてしまいます。 これはムービーファイルを再生する上で回避できない時間なのでしょうか? ちなみに、ムービー形式はサンプルに沿ってwmvを使用しています。 DirectShowというと、マイナーでネット上のサンプルも少ないというイメージで 触っている人が少ないかもしれないかと思うのですが、わかる方が居ましたら よろしくお願いいたします。
|

|