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