主要由VideoCaptureFactory工厂产生DeviceInfo和VideoCaptureModule两个类。这两个类对象分别由Create()和CreateDeviceInfo()函数产生。前者用于捕获记录设备信息。后者用于采集视频帧。NumberOfDevices()记录有几个可采集的设备,GetCapability()函数用于获取设备的能力比如支持多大分辨率和帧率。VideoCaptureModule拥有DeviceInfo作为它的引用,同时有DirectShow的接口 ,CaptureSinkFilter用于存放采集好的视频帧。
RegisterCaptureDataCallback()函数用于上层的类对象注册近来,上册通过这种方式获取到采集层得到的视频数据。
webrtc在不同平台下使用的采集库不同,在windows下使用的DirectShow,因此VideoCaptureDS类中的DS即指代DirectShow。
在linux平台使用v4l2采集。