怎么开发UVC摄像头应用软件程序及使用请求接口API
在Windows环境下,摄像头的视频流属于多媒体流范畴,故不能直接使用Windows提供的API接口进行视频程序的开发.所以微软精心为我们准备了提供了一套关于多媒体流的开发框架。
微软提供的多媒体流的开发框架当前有两种:
- .DirectShow,适用了windows xp及以后的操作系统,不过从Vista开始就不再建议使用。市面上大部分的关于视频的开发应用程序接口都是基于DirectShow开发的。
- .Media Foundation:微软新一代的多媒体框架,用于替换老式的DirectShow。Media Foundation要求Windows Vista或更高版本,不支持较早期的Windows版本,特别是Windows XP。
附件:
UVC微软文档:https://docs.microsoft.com/en-us/windows-hardware/drivers/stream/usb-video-class-driver-overview
DirectShow简介
DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM(Component Object Model)的流媒体处理的开发包,与DirectX开发包一起发布。DirectShow使用一种叫Filter Graph的模型来管理整个数据流的处理过程,运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。这样使在多媒体数据库管理系统(MDBMS)中多媒体数据的存取变得更加方便。它广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等,为多媒体流的捕捉和回放提供了强有力的支持。
相关的参考文档:
参考代码:https://www.jianshu.com/p/a67b8cfc57c5
https://docs.microsoft.com/en-us/windows/desktop/DirectShow/video-capture
Media Foundation
Media Foundation 是DirectShow为主的旧式多媒体应用程序接口的替代者与继承者,在微软的计划下将逐步汰换DirectShow技术。Media Foundation要求Windows Vista或更高版本,不支持较早期的Windows版本,特别是Windows XP。
Media Foundation 长于高质量的音频和视频播放,高清内容(如HDTV, 高清电视)和数字版权管理(DRM)访问控制。Media Foundation在不同的Windows版本上能力不同,如Windows 7上就添加了H264编码支持。Windows 8上则提供数种更高质量的设置。
框架介绍:https://blog.csdn.net/cuit/article/details/13290223
源文档:https://docs.microsoft.com/en-us/windows/win32/medfound/microsoft-media-foundation-sdk
参考代码:https://download.csdn.net/download/goncy/9626382