WIN2000 VC++ver.6sp5 MFC #include vfw.h /vfw32.lib VC歴3週間の初心者
vfwで外部信号をAVIファイルとしてキャプチャできるってことまで探すことができたので
すが、具体的にどのようなコードを書いたらいいかわりません。
AVI保存するにはどうしたらいいのでしょうか?これだけだったらクライアント領域が真っ
暗です。
void CCapture2View::OnDraw(CDC* pDC){
CCapture2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: この場所にネイティブ データ用の描画コードを追加します。
HWND capWnd;
capWnd = capCreateCaptureWindow( Capture window,WS_VISIBLE |
WS_CHILD,0, 0,3200, 2400, this->m_hWnd,100);
capDriverConnect(capWnd,0);
capOverlay(capWnd,TRUE);
}
よろしくお願いします。
> void CCapture2View::OnDraw(CDC* pDC){
これだと、多分スナップショットになりそう。
OnDrawが死ぬほどCallされます。
http://laputa.cs.shinshu-u.ac.jp/~gtakano/prog1.html
http://www.aa.wakwak.com/~dragoon/vcap.htm
この辺が、参考になりませんか?
すいません。少し話が外れるかも知れんが、ご教授くださるようお願い致します。
ボコノン教徒さんに教えていただいたサイトとても勉強になりました。
しかし、私のPC(VAIO RX53ってものを使用しています。もともとXpですが2000をデュア
ルブートをしてシステム開発は2000で行っています)では、 http://laputa.cs.shinshu-
u.ac.jp/~gtakano/prog1.htmlにあるサンプルを使用しても、何も(信号が)表示されま
せん(XP・2000両方でEXEを実行しました)。サンプルの
capDriverConnect( hWndCap, 0 );の部分を
BOOL flag = FALSE;
for( i = 0; i < 10; i++ ){
flag = capDriverConnect( hWndCap, i );
if( flag ) break;}
if( !flag ){MessageBox( 接続失敗, エラーメッセージ, MB_OK);
exit( 0 );}
としたのですが接続に失敗します。信号は現在デジカメ(本当はsVHS信号で行いたいと思
っています)で出力しています。
RX53はもともとVIDEO端子がついているPCなのですが、付属ソフトではこのような信号を
映像化・MPEGで保存することができます。
以上の状態からキャプチャボードがMPEG/AVIの表示に依存性があるのかと思い調べている
のですが、よくわからないので、質問させていただきました。なにかほかにinstallしな
ければならないものがあるか、キャプチャボードに依存性があるのか、プログラムを修正
しなければならないのか、情報をお願い致します。
> 信号は現在デジカメで出力しています
デジカメからの画像を取り込もうとしてるんですか?
デバイスマネージャーで取り込みデバイスが表示されていますか。
(「イメージングデバイス」とかで)
>キャプチャボードがMPEG/AVIの表示に依存性があるのかと思い
ボードのドライバーがVFWかDirectShowに対応してればOKです。
独自インターフェース(シリアル接続とか)の場合はメーカー
がインターフェースを公開してないかぎり、取り込みは難しいと
思います。
MPEGを扱おうと思ったら、MPEGのエンコーダorデコーダが必要に
なります。