【问题标题】:Device driver to act as a virtual web camera充当虚拟网络摄像头的设备驱动程序
【发布时间】:2011-07-02 00:55:49
【问题描述】:


我正在寻找编写虚拟相机驱动程序。有人知道吗?
任何有帮助的书或任何链接。

添加更多细节: 我开发了一个将图像保存到磁盘的设备驱动程序,显示器使用设备驱动程序来显示图像。性能似乎不太好。 fns。我使用的是: //捕捉 获取桌面窗口() 创建兼容位图() 保存() //显示 WM_MOUSEMOVE 每次都调用捕获和显示 但显示不连续,只有在窗口失焦并再次聚焦后才会出现

我应该使用其他一些技术来记录或显示图像,什么会产生丰硕的结果,请帮助。

谢谢, -螨虫

【问题讨论】:

    标签: windows visual-c++ kernel device drivers


    【解决方案1】:

    虚拟摄像头驱动是什么意思?

    可以使用 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
    • 修改捕获过滤器的源代码以获取屏幕抓取等。

    就书籍而言,编写设备驱动程序来完成同样的事情,我不知道。我要说明的一点是,您需要确定您是否真的需要编写设备驱动程序,或者仅仅修改开源捕获过滤器是否就足够了。

    【讨论】:

    • 我想了解的是捕获设备的功能是什么,它会存储图像还是如何将它们传送到任何地方。
    • 我必须为视觉相机编写代码,它作为设备驱动程序工作,并且想要一些书或链接来参考
    • 根据项目的需要,我需要编写一个设备驱动程序,不断地向显示软件提供图像。请为我提供一个最佳链接或书籍来处理它,在此先感谢。
    • 我已将问题修改为更详细,请帮助我详细说明。
    • @Ralf:我可以使用任何网络编程语言将直接显示过滤器的输出显示到浏览器或 webrtc 视频会议室
    猜你喜欢
    • 2010-12-10
    • 2011-02-02
    • 2010-10-20
    • 1970-01-01
    • 2011-09-08
    • 2019-09-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    相关资源
    最近更新 更多