• 一个虚拟摄像头Filter(Virtual Cam Capture Filter)


     原文链接

    当我们运行一些多媒体程序或者OpenCV的例子的时候,经常要用摄像头作为输入源,但是并不是每个用户电脑上都装了USB摄像头,那怎么办呢?可以在你系统上安装一个虚拟摄像头的Directshow插件,那么你系统上就多了一个“摄像头”了,但是实际上它不是物理摄像头,只是模拟摄像头设备可以采集图像。我的资源里提供了一个虚拟摄像头的代码,大家可以试用一下,下载地址:

    http://download.csdn.net/download/zhoubotong2012/10242646

    这个Filter原先的版本是一个老外写的,我在上面做了些修改,主要增加了将文件作为输入源的功能。

    压缩包里包含两部分:

    Virtual Cam Source Filter工程--VirtualCam

    还有配置Filter属性的一个工具--VirtualCamConfig

    进入VirtualCam的Bin目录,会看到下面的这些文件:

    其中VCam.ax就是我们要注册的Release版的Filter,目录下面还有FFmpeg的DLL文件,为什么还用到FFmpeg呢?

    因为这个Filter的功能是将一个媒体文件解码后的图像作为视频源的,也就是从摄像头里出来的数据就是文件里的视频。所以,使用Filter时我们需要加载一个文件,通过前面说的VirtualCamConfig工具来设置文件路径:

    配置工具里的第一个参数是FilePath,即输入的多媒体文件路径;第二个参数RameRate是采集的帧率,即播放视频每秒输出的帧数。上面的对话框中设置文件源为:test4.mp4,FrameRate = 10,就是说每秒从test4.mp4这个文件中读取10帧图像输出,VCam Filter内部会将读到的视频先解码再传给后面的Filter,输出Sample格式为RGB。上面目录里的FFmpeg DLL就是用来读取视频和解码用的。

     另外,说一下这个Filter注册的方法,免得有些读者没有用过Directshow不知道怎么用。

    进入命令行模式,通过CD命令进入AX文件所在的目录。

    输入注册Filter命令: regsvr32  Vcam.ax

    如果执行时出现如下提示:

    表示可能当前账户的权限不够,尝试切换到管理员权限,然后再运行命令,方法:在Windows开始菜单的附件-》命令行提示符,按右键,在右键菜单中选择“以管理员权限运行”,输入命令就可以成功注册。

     (如果要取消注册这个Filter,输入注销Filter的命令:regsvr32 /u Vcam.ax)

    安装后,打开任意一个支持DShow的采集程序,比如Directshow的官方例子AMCap.exe,就可以看到图像了。

    --------------------------------------------------------------------

    补充:

    1. 旧的代码有问题,导致注册Filter失败,新版本解决了这个问题,下载链接:

    https://download.csdn.net/download/zhoubotong2012/11229350

    配置工具下载地址:https://download.csdn.net/download/zhoubotong2012/12048336

    2.某些支持DShow的软件加载该Filter后显示出来的图像是颠倒的(比如QQ视频聊天功能),需要在Filter中加上倒置图像的功能,实现方法参考这篇博文:https://blog.csdn.net/zhoubotong2012/article/details/103304698

    3. 某些摄像头采集软件不能正常使用该Filter,原因可能是这些软件调用了某些DShow的接口,而这些接口该Filter没有实现,由于本人已经不维护这个Filter的代码了,请读者自己去实现缺少的接口。

  • 相关阅读:
    OWASP要素增强Web应用程序安全(3) java程序员
    企业如何建立渗透式网络存取 java程序员
    无线网卡使用的十一条安全妙计 java程序员
    (扩展)欧几里德&&快速幂
    邻接表(两种实现形式)
    pojHighways(prime)
    并查集的几道题(hdu1198)(1232)(1272)(1598)
    hdu1372Knight Moves(简单BFS)
    hdu2647Reward(拓扑排序)
    hdu4339Query(多校四)
  • 原文地址:https://www.cnblogs.com/jscs/p/13685829.html
Copyright © 2020-2023  润新知