USB虚拟设备
+ -

USB中文网虚拟UVC摄像头DEMO演示

2021-11-15 41 0

其实最开始搞的就是虚拟的UVC摄像头,没想到今天才开始展示。
这次展示的是自己虚拟4个1920X1080x30的NV12数据格式的摄像头,摄像头的编号自己也就随意一些,分别为UsbzhVCamera 00,UsbzhVCamera 01,UsbzhVCamera 02,UsbzhVCamera 03。
编译完后的驱动如下:

  • UsbzhVCamera.inf
  • UsbzhVCamera.cat
  • UsbzhVCamera.sys

然后,使用自己的批处理文件进行安装:

CD /d %~dp0
devcon.exe install UsbzhVCamera.inf "root\UsbzhVCamera"

安装成功后,在设备管理器显示的设备如下:
虚拟UVC摄像头
然后使用potplayer打开这几个摄像头,使用自己自定义的数据对视频内容数据填充,

    ULONG len = 1920 * 1080 *3/2;
    PUCHAR p = new UCHAR[len];
    ULONG rtn = 0;
    for (int i = 0; ; i++)
    {
        memset(p, i % 256, len);
        usb.SetVideoData0(p, len, &rtn);
        usb.SetVideoData1(p, len, &rtn);
        usb.SetVideoData2(p, len, &rtn);
        usb.SetVideoData3(p, len, &rtn);
        Sleep(30);
    }

当然,这个SetVideoData1是自己封装的接口,实现应用层的数据写入到驱动中,然后再由驱动将数据上报给摄像头。
打开UVC摄像头

欢迎光临USB中文网进行技术交流,本站微信技术群有200多位全国做USB,UAC,UVC等USB方面的技术开发者和专家,还有解决不了的USB问题?

0 篇笔记 写笔记

常用图像像素格式 NV12、NV2、I420、YV12、YUYV
常用图像像素格式 RGB 和 YUV,像素格式描述了像素数据存储所用的格式,定义了像素在内存中的编码方式。RGB 和 YUV 为两种经常使用的像素格式。1.RGB 格式一般较为熟悉,RGB图像具有三个通道 R、G、B,分别对应红、绿、蓝三个分量,由三个分量的值决定颜色;这三种颜色称为 三原色,将它们......
Windows下UVC虚拟摄像头的实现
最近在Windows10 x64环境下,开发了一个虚拟UVC摄像头驱动。确切的来说这不是摄像头驱动,而是一个虚拟USB总线驱动。使用该虚拟总线驱动使用应用软件通过IOCTL控制总线子设备的创建与卸载。驱动安装完成后,是一个单纯的USB虚拟总线。应用软件通过发送自定义IOCTL码IOCTL_BUSEN......
UVC YUV2、NV12、M420、I420无压缩视频帧描述符
无压缩数据格式的官方文档为:USB_Video_Payload_Uncompressed_1.5.pdf,其下载地址为:https://www.usb.org/sites/default/files/USB_Video_Class_1_5.zip UVC无压缩的数据格式支持四种数据格式类型,见下表......
Win10 x64虚拟设备之触摸屏
前一段时间在本人整理了自己编写的USB虚拟驱动框架,在其基础上实现了虚拟键盘,鼠标的功能。本节是继虚拟键盘鼠标的另一个虚拟USB设备-触摸屏触摸屏设备是HID设备的一个小类,但是随着触摸设备使用的越来越广泛,这类设备也变地越来越重要。触摸屏设备的原理和我们手机上的触摸屏原理一样,是在电脑屏幕上有一层......
DirectShow使用过滤器支持NV12数据格式
DirectShow默认是不支持NV12,H264等非原生态数据格式的,为了支持这些非原生态的格式,微软的DirectShow使用过滤器来实现。具体原理就是在对收到的不支持的数据格式进行转码,这样就可以渲染了。说明:本段代码来自USB中文网技术交流群,感谢临江仙的分享!class CForm......
HID设备虚拟触摸屏上报的多点数据系统不响应
前一般时间在Windows10下使用USB驱动虚拟了一个触摸屏设备,上层软件按照HID报告述符的格式下发触摸屏数据给驱动,再由驱动将数据上交给系统,实现虚拟触摸屏的功能。今天,突发奇想,上次的报告描述符仅支持的是一个点触摸效果,今天保不实现了一下多点触摸效果,所以我通过在一个支持多点触摸屏的设备......
Win10 x64下USB-UAC虚拟声卡扬声器的实现
去年的时候,使用portclass驱动模型在windows下虚拟了一个虚拟扬声器和虚拟麦克风。扬声器和麦克风在内部通过拓扑结构进行数据关联,即麦克风的数据的来源于扬声器,实现了这样的回环。最近突然有个需求,就是不需要麦克风,只要一个扬声器,即虚拟声卡。那怎么办呢?既然本人是专门做USB驱动开发的,在......
Win10 x64下USB-UAC虚拟麦克风的实现
对于虚拟的UAC设备,实现了虚拟的UAC扬声器,总是想着再一个USB虚拟的UAC麦克风。因为这样,才算完美。本着完了完美的结果,自己又忍不住给自己找了一个活-USB虚拟麦克风虚拟麦克风的大体开发和USB虚拟扬声器类似,只是一个是输入设备,另一个是输出设备而已。所以参考UAC规范,基于UAC虚拟扬声......
USB中文网虚拟麦克风驱动程序视频演示
0.整个软件的框架如图1.安装虚拟麦克风由于本人机器处于是禁用驱动签名模式,所以会弹出签名询问对话框2.打开设备管理器可以看到虚拟的麦克风USBZH Microphone3.在音频控制面板打开设备,并使用扬声器监听该设备。这样麦克风如果有声音会通过扬声器播放出来。4.打开测试程序MicApp......
USB虚拟鼠标功能演示
该功能是USB中文网的开发例程,其设计原理见:http://www.usbzh.com/article/detail-476.html使用驱动程序实现的是虚拟USB鼠标功能。鼠标的事件由应用应用层下发:当前完成的功能:鼠标指针的移动鼠标的点击事件动态创建和销毁鼠标设备支持WIN7,WIN10 ......
USB中文网虚拟UVC摄像头DEMO演示
其实最开始搞的就是虚拟的UVC摄像头,没想到今天才开始展示。这次展示的是自己虚拟4个1920X1080x30的NV12数据格式的摄像头,摄像头的编号自己也就随意一些,分别为UsbzhVCamera 00,UsbzhVCamera 01,UsbzhVCamera 02,UsbzhVCamera 03。......
作者信息
USB中文网
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!