VBでのキャプチャ方法についての質問をさせていただきます。
別ソフト(Media Player等)で再生している動画(avi形式等)をVBを使用してキャプチャするにはどのような処理になるのか教えていただけないでしょうか。
つまり、キャプチャする範囲、又は画面全体を指定しそれを静止画像で保存するということです。
VB上で動画を再生、静止画をキャプチャするのは出来たのですが、別ソフトで再生されている動画をキャプチャする方法がわかりません。
よろしくお願い致します。
環境はXP
VB6.0 又は 2005です。
メディアプレイヤーは通常オーバーレイを使って動画を表示している
でしょうから,キャプチャするのは難しいと思います。
ここからは,「多分...」程度の情報です。
動画をレンダリングしながら静止画をキャプチャするようなDirectShowの
フィルタを自作して,フィルタの優先度を1番高くしておけばできるかも
しれません。
しかし,VBでは不可能だと思います。
まずキャプチャ可能かと言う部分では、プログラム的には可能ですが
VB6を使う限りは無理です。
Video for WindowsならCPU性能にも依存しますが、VB6でも処理速度
的な可能だと思いますが、DirectShowであれば、かなりドライバー
側でもCPUを食う処理を行っていますので、そこにVB6のキャプチャ
モジュールを通すとまず、ダメでしょう。
静止画に落とすと言う部分では、オーバーレイ方式で表示していても
キャプチャするソフトはあるようですので、可能だと思いますが、C
言語で書かないと処理速度的にも追従できないのではと思います。
以上。
YASさん、オショウさんありがとうございます。
VBでは不可能だということなのでCで作成してみようと思います。
ありがとうございました。
ツイート | ![]() |