• 締切済み

DirectShowで出来るだけ速くコマ送り

http://www.greenwood.co.jp/~k-aki/article/directshow_movie/directshow_movie.html 上のページの6番の方法を使い、DirectShowから受け取った画像をテクスチャに貼り付けて表示するプログラムを作りました。 コマ送りして連番画像出力をしようと思ったんですが、コマ送りをする方法が分かりません。IVideoFrameStepを使うと等倍速以上ではコマ送りできないみたいなので、何か他の方法は無いでしょうか? 将来的には音声も取得・加工してAVIなどに出力できるようにしたいですが、難しそうなのでとりあえず連番画像出力から作ろうとしています。

みんなの回答

回答No.1

 こんにちは。  恐らくIMediaSeeking辺りだと思います。  http://msdn.microsoft.com/ja-jp/library/cc357067.aspx  AVIやらをエンコードしてくれるインターフェースも有る様ですが、其処までは試していませんので、チョッと分かりません。  音声はサンプルグラバで取れます。  サンプルグラバのコールバック中で、AVIStreamに向かって画像・音声データを流し込めば、一応録画らしき事は出来ます。  私がこの手法を試した時、サンプルグラバの速度が芳しくなかった為に断念したのですが、そのURLではサンプルグラバの速度向上を実現しているので、もしかしたら、実用的な速度が出せるかも知れません。

vroad
質問者

補足

書き込んだつもりだったのに書き込んでなかった!! そうですね、サンプルグラバでやってみます。 IMediaSeekingで1フレームずつシークするのは遅すぎるのでなしで・・

関連するQ&A