一、背景介绍

    虚拟摄像头,顾名思义,就是利用软件技术虚拟出一个摄像头硬件设备供用户使用。当我们需要对视频图像进行处理再输出时,虚拟摄像头就具备非常大的价值了。关于如何在Windwos上实现一个虚拟设备的资料已经非常丰富了,Windows Driver Kit里面也有非常多的帮助文档。这篇博文主要总结了在Mac下开发虚拟摄像头的一些经验。Mac下的虚拟摄像头产品其实也有不少,例如CamTwist, CamMask, CamWiz, ManyCam等。但是关于如何在Mac下开发虚拟摄像头设备的资料却是异常匮乏。通过一番搜索后才找到一个关键字:CoreMediaIO. 经过了解,CoreMediaIO是Mac下的一个framework,主要用于对视频图像进行处理。而CoreMediaIO framework有一个Device Abstraction Layer(DAL),它类似与Mac下CoreAudio的Hardware Abstraction Layer(HAL)。HAL主要是用来处理音频硬件发送的音频流的,而DAL则是用来处理视频设备的视频流的。因此,利用DAL插件框架,可以模拟出一个摄像头设备供上层用户使用。

    CoreMediaIO DAL有一个示例项目,这个项目模拟出了一个名为“Sample”的设备,通过底层kext模块提供的模拟数据实现视频帧的传递。这个DEMO要真正使用起来的话,有一些需要注意的地方。在Demo中的README文件中推荐使用如下命令安装预编译好的程序:

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式

我想了解如何学习

姓名:
手机:
留言: