我正在寻找编写虚拟相机驱动程序。有没有人有想法?
任何有用或任何链接的书。
添加更多详情: 我开发了一个设备驱动程序,将图像保存到磁盘,显示器使用设备驱动程序显示图像。表现似乎并不好。 fns。我用过的是: //捕捉 GetDesktopWindow() CreateCompatibleBitmap() 保存() //显示 WM_MOUSEMOVE 每次都拨打电话进行捕捉和显示 但显示不连续,只有在窗口失焦后才会出现并再次聚焦
我是否应该使用其他技术来记录或显示图像,哪些会产生丰硕的成果,请帮忙。
谢谢, -mitesh
答案 0 :(得分:15)
虚拟相机驱动程序是什么意思?
可以使用DirectShow编写虚拟捕获设备。这样的虚拟捕获设备可以被skype等应用程序使用。如果满足您的需求,您可以从“捕获源过滤器”链接下的http://tmhare.mvps.org/downloads.htm下载vcam。
编辑: 为了在我发布的链接中使用该捕获设备,您需要下载Windows SDK。 Windows SDK有一个名为“GraphEdit”的工具如果你在线搜索,我相信你可以找到一个快速的GraphEdit教程。基本上,GraphEdit允许您通过连接一堆过滤器来构建多媒体管道。 (这是在后台发生的事情,例如当您在计算机上播放电影时。)这可能类似于
网络摄像头 - >渲染器
或
文件来源 - >一些解码器 - >渲染器
会导致您看到网络摄像头捕获的视频或文件内容。示例下载显示了如何构建虚拟捕获设备,即看起来媒体来自“真正的”捕获设备,但实际上,如果您根据特定方式调整代码,您可以生成所需的任何视频,即采取屏幕抓取和输出那个。如果正确注册,skype等应用程序可以为您提取虚拟捕获设备。
找出这是否足以满足您的需求的最简单方法是下载捕获源过滤器,使用regsvr32命令注册,然后使用GraphEdit将捕获源插入图形,将源连接到视频渲染器并点击播放按钮。很多上面提到的概念/关键词对你来说可能看起来很新,但是你可以对每个主题做一些阅读,也许这会给你一个入门点。
编辑2: 捕获源过滤器方法是否不足以满足您的要求? 1)AFAIR你在你的(现已删除的)答案中说明了你想要屏幕抓取,并将其用作虚拟摄像机设备,用于skype等应用程序。
如果这就是您所需要的全部内容,则无需编写设备驱动程序。 DirectShow可以通过捕获源过滤器完美地完成这项工作。然后你需要
就书籍设备驱动程序来完成同样的事情而言,我不知道。我想说的是,您需要确定是否确实需要编写设备驱动程序,或者只是简单地修改开源捕获过滤器就足够了。