DirectX视频流和帧捕获






4.58/5 (38投票s)
2004年7月6日
2分钟阅读

675802

27292
可以同时捕获视频流和帧的库。
引言
NET大师和Brian Low做了大量的工作,并且进行了增强。但是,我需要一个能够持续从视频源捕获图像/位图并同时记录它的库。然后我看到了NET大师的项目和Brian Low的项目。他们做得很好,但该功能未包含在项目中。所以我决定添加一个。顺便说一下,我看到另一个项目执行了相同的功能,但它没有通过触发事件持续捕获帧,而且视频捕获速度较慢,无法产生流畅的流。而且每秒帧数也比较慢。但是,这是一项伟大的努力。
背景
实际上我只是将这些示例组合在一起。所以,最好还是参考这些示例。
使用代码
只需添加一个按钮来触发事件和 GrapImg
方法。然后,添加另一个事件处理程序,我添加的是 CaptureDone
处理程序。
一旦从图像缓冲区复制了一个帧,就会触发 CaptureDone
。之后,只需将位图显示到PictureBox中即可。
private void button1_Click(object sender, System.EventArgs e)
{
capture.FrameEvent2 += new Capture.HeFrame(CaptureDone);
capture.GrapImg();
}
private void CaptureDone(System.Drawing.Bitmap e)
{
this.pictureBox.Image=e;
}
但是,要使其工作,您首先需要了解如何使用DirectX捕获库,因为您需要设置视频捕获的属性才能启动,并且需要在触发 CaptureDone
之前开始预览视频。
关注点
嗯,有一件事是,我花了大量时间阅读NET大师和Brian Low的代码。欢迎提出任何意见……谢谢。以下是Brian Low的类库和NET Master的DirectShow.NET的两个链接。(感谢您的建议)
历史
无。