Virtual Camera
Tips
- 为何云桌面需要虚拟摄像头?为何不用USB重定向摄像头?
在远程桌面控制中,甚至是在云桌面应用中。 因为大部分都是USB的摄像头,似乎可以直接使用USB远程访问的方式,把USB摄像头的图像数据直接重定向到服务端。 然而,USB重定向传输的是USB通讯协议数据,摄像头的图像数据包含在USB通讯协议中, 这个USB通讯协议是不能做有损压缩的,图像数据本身就非常庞大,这种方式浪费的网络带宽非常高。 曾经做过实验,传输640X480大小的YUY2格式的摄像头图像数据,大致30FPS,没对USB通讯协议做压缩, 传输大约是 5Mbytes 每秒,基本上占了百兆网卡一半的带宽,而且还只是传输 640X480这种小分辨率的图像, 如果是1920P这种图像,那更加恐怖,即使做无损压缩,使用LZMA这种高强度压缩,对图像数据来说,基本上也压缩不到多少。
调研
- DirectShow 实现虚拟摄像头方式:https://github.com/roman380/tmhare.mvps.org-vcam
- DirectShow Baseclasses example code
- AVStream 驱动方式:
https://www.pianshen.com/article/44661054887/, https://www.daimajiaoliu.com/daima/4edb067b8100407 - 相关文章
- 调研总结: