一、摄像头框架
在业务场景中,有许多是需要应用能够通过摄像头的方式来访问相关的音视频数据,比如美颜、摄像头多路复用、IP摄像头接入视频会议等。这些功能通过虚拟摄像头的方式来实现,是一个比较通用的解决方案。那么如何及选用哪种技术方案来开发虚拟摄像头呢?本文从windows角度评估其相关技术可行性。
回到问题:应用操作虚拟摄像头,我们可以从Windows的应用是如何操作摄像头来评估。
Windows发展史上,主要使用了以下框架来操作摄像头:
- VFW(Video Of Windows)这个是Windows最先使用的框架,也是最古老的,好处是接口函数够简单,在有些兼容或者小型用层场所用用也没什么问题。
- DirectShow,这个是横跨 WINXP, WIN7,WIN8,WIN10都得到很好支持的框架,然而接口函数也挺复杂。
- Media Foundation, 这个是WIN7之后,开发的新框架,目的是为了替换DirectShow,从而达到更好的性能和适应流媒体发展的需求。
二、应用现状
应用程序可以通过VFW、DirectShow、Media Foundation等一个或多个方式来操作摄像头。那么实际情况是如何的呢?
大量的操作摄像头的程序都是使用DirectShow框架,有小部分还在使用VFW框架。新近开发的程序或者对老版本程序的更新中,相当数量的程序使用Media Foundation框架代替了DirectShow。更有甚