(转载请注明出处)
我真的不是故意把标题写这么严肃的 这节重点解释SDK里那些看起来比较晦涩的,剩下那些简那些单的、能在chm文档里查到的粗略提一下或者不说废话。
PS:至于我们所关注的获取视频流,SDK给出了两种方式,一种是用PXCSenseManager获取默认设备上的数据。另一种是完全自定义的方法,一步一步地配置并获取更详细更有(加)价(无)值(聊)的数据。为了满(装)足(一)好(手)奇(好)心(B),我们暂时不用SenseManager。
关于怎么用另一种方式获取视频流,个人稍微总结了一下流(套)程(路):
Created with Raphaël 2.1.0 创建实例 限定RealSenseDCM服务描述信息 查询可用的服务 初始化影像设备 配置兼容的串流类型 就绪 简直蛋疼
来来来,先理解几个SDK中会经常见到的单词,否则你会怀疑你的阅读能力: Implementation // 装置,这里对应着DCM服务(DCM是深度相机管理器的意思) Instance // 看得见摸得着的(雾)玩意儿 Capture // 采集,特指信息采集 Device // 设备IO、硬件IO、摄像头IO。。。反正看到Device 就知道这是在控制硬件(激光器、曝光乱七八糟的)
……不说人话。
下面上代码,两大步:枚举设备、枚举视频流。
枚举设备并查看信息: 不说废话,直接上代码:
pxcStatus retStatus; PXCSession * Session = PXCSession::CreateInstance (); PXCSession::ImplVersion ver = Session-> QueryVersion(); cout << "Realsense SDK 版本 " << ver. major << "." << ver. minor << endl; cout << "==================================================" << endl; cout << "Checking Cable..." << endl; cout << "-----------------" << endl; PXCSession::ImplDesc Qtemplat = {}; Qtemplat. group = PXCSession::IMPL_GROUP_SENSOR ; Qtemplat. subgroup = PXCSession::IMPL_SUBGROUP_VIDEO_CAPTURE ; for (size_t DCMidx = 0 ; ; DCMidx += 1 ) { PXCSession::ImplDesc Impl; retStatus = Session-> QueryImpl(& Qtemplat, DCMidx, & Impl); if (retStatus < PXC_STATUS_NO_ERROR)break; wcout << "Enum_Index[" << DCMidx << "]" << "@" << Impl. friendlyName<< ":" << endl; PXCCapture * Capture = NULL ; retStatus = Session-> CreateImpl< PXCCapture> (& Impl, & Capture); if (retStatus< PXC_STATUS_NO_ERROR) continue; for (size_t Didx = 0 ;; Didx += 1 ) { PXCCapture::DeviceInfo dinfo; retStatus = Capture-> QueryDeviceInfo(Didx, & dinfo); if (retStatus < PXC_STATUS_NO_ERROR) break; wcout << " |___DEVICE[" << Didx << "]" << ":" << dinfo. name<< endl; if (dinfo. streams& PXCCapture::STREAM_TYPE_COLOR ) wprintf_s(L" |___COLOR ----- STREAM\n" ); if (dinfo. streams& PXCCapture::STREAM_TYPE_DEPTH ) wprintf_s(L" |___DEPTH ----- STREAM\n" ); if (dinfo. streams& PXCCapture::STREAM_TYPE_IR ) wprintf_s(L" |___IRTOF ----- STREAM\n" ); if (dinfo. streams& PXCCapture::STREAM_TYPE_LEFT ) wprintf_s(L" |___STEIR L --- STREAM \n" ); if (dinfo. streams& PXCCapture::STREAM_TYPE_RIGHT ) wprintf_s(L" |___STEIR R --- STREAM\n" ); } Capture-> Release(); }
执行结果如下:(我只连接了R200,以前对概念理解有误,module就是上面说的DCM服务)
枚举RealSenseDCM服务需要你限定分组:ImplDesc(RealSenseDCM描述)类型是一个结构体,枚举的话你可以在结构体例事先限定好信息。 SDK中写到:
The group and subgroup values uniquely identify an SDK interface. The iuid value uniquely identifies a module implementation that implements a particular SDK interface. Thus within an SDK session, the following combinations uniquely identify a module implementation: (1) group, subgroup, and iuid (2) cuid and iuid Here cuid refers to the identifier of the primary interface implemented by the module.
理解如下: 你限定了基组和亚组就确定了你在SDK中应该使用哪个DCM服务。 IUID是Implementation Unique Identifier的缩写,代表DCM的唯一标识。 不就是个摄像机,搞得这么高端 知道了IUID就知道了在SDK中具体是那个RealSenseDCM服务在调用SDK中的API。 这样,在一个RealSense SDK的会话中,我们可以通过以下方式确知(限定)一个RealSenseDCM: 1.限定基组、亚组和IUID 2.限定CUID和IUID 这,这里怎么又蹦出来个CUID ? 查查看:
interfaces supported by implementation
反正就是能够通过上面两种方式来知道你现在对应着什么DCM服务。 QueryImpl来查询符合你描述的可用装置,CreateImpl来初始化信息采集。 之后就可以用采集器获取设备详细信息,PXCCapture::DeviceInfo是一个结构体,包含装置内含的设备的信息:设备名称、序列号、型号、固件版本、设备在DCM内排在索引的第几号等。 PS: 看到Video Capture(Media Foundation)了吗? 看来RealSense装置还是能把自己当成摄像头的== 熟悉OpenCV的同学不要想当然地用VideoCapture类的方法打开它,对于R200我是没打开成功过(F200没来得及测). 如何用OpenCV处理获得的图像将在下一节说。
枚举视频流并查看信息: 代码(R200):
// 接上面代码cout << "\n请输入需要查询的模组编号:" // 重新打开设备 PXCSession::ImplDesc Impl PXCCapture *Capture = NULL PXCCapture::Device *RS_Device = NULL retStatus = Session->QueryImpl(&Qtemplat, Module_nIdx, &Impl) if (retStatus < PXC_STATUS_NO_ERROR) exit(0 ) retStatus = Session->CreateImpl<PXCCapture>(&Impl, &Capture) if (retStatus < PXC_STATUS_NO_ERROR) exit(0 ) RS_Device = Capture->CreateDevice(Module_nIdx) if (RS_Device == NULL) exit(0 ) // 查询可使用的影像串流类型 cout << "Checking Streams..." << endl cout << "--------------------" << endl PXCCapture::StreamType flag_Streams = PXCCapture::STREAM_TYPE_COLOR | PXCCapture::STREAM_TYPE_DEPTH | PXCCapture::STREAM_TYPE_LEFT | PXCCapture::STREAM_TYPE_RIGHT cout << "流类型" << " 分辨率" << " 帧速率" << " 像素格式" << " RAW流传输" << endl cout << "----------------------------------------------------------------------------------" << endl for (size_t Profile_nIdx = 0 { PXCCapture::Device::StreamProfileSet ProfileSet = {} retStatus = RS_Device->QueryStreamProfileSet(flag_Streams, Profile_nIdx, &ProfileSet) if (retStatus<PXC_STATUS_NO_ERROR) break wprintf_s(L"Color[%d]: | %dx%d | @%.1fFPS |*%08X |_%08X\n" , Profile_nIdx, ProfileSet.color .imageInfo .width , ProfileSet.color .imageInfo .height , ProfileSet.color .frameRate .max , ProfileSet.color .imageInfo .format , ProfileSet.color .options ) wprintf_s(L"Depth[%d]: | %dx%d | @%.1fFPS |*%08X |_%08X\n" , Profile_nIdx, ProfileSet.depth .imageInfo .width , ProfileSet.depth .imageInfo .height , ProfileSet.depth .frameRate .max , ProfileSet.depth .imageInfo .format , ProfileSet.depth .options ) wprintf_s(L"DualL[%d]: | %dx%d | @%.1fFPS |*%08X |_%08X\n" , Profile_nIdx, ProfileSet.left .imageInfo .width , ProfileSet.left .imageInfo .height , ProfileSet.left .frameRate .max , ProfileSet.left .imageInfo .format , ProfileSet.left .options ) wprintf_s(L"DualR[%d]: | %dx%d | @%.1fFPS |*%08X |_%08X\n" , Profile_nIdx, ProfileSet.right .imageInfo .width , ProfileSet.right .imageInfo .height , ProfileSet.right .frameRate .max , ProfileSet.right .imageInfo .format , ProfileSet.right .options ) cout << "----------------------------------------------------------------------------------" << endl } // 典型的流信息 彩色RGB24 1920 1080 双目IR int16 628 468 硬件帧同步 30 FPS PXCCapture::Device::StreamProfileSet ProfileSet = {} ProfileSet.color .imageInfo .width = 1920 ProfileSet.color .imageInfo .format = PXCImage::PIXEL_FORMAT_RGB32 ProfileSet.color .options = PXCCapture::Device::STREAM_OPTION_STRONG_STREAM_SYNC ProfileSet.color .frameRate = { 30 ,30 } ProfileSet.depth .imageInfo .width = 628 ProfileSet.depth .imageInfo .format = PXCImage::PIXEL_FORMAT_DEPTH ProfileSet.depth .options = PXCCapture::Device::STREAM_OPTION_STRONG_STREAM_SYNC ProfileSet.depth .frameRate = { 30 ,30 } ProfileSet.left .imageInfo .width = 628 ProfileSet.left .imageInfo .format = PXCImage::PIXEL_FORMAT_Y16 ProfileSet.left .options = PXCCapture::Device::STREAM_OPTION_STRONG_STREAM_SYNC ProfileSet.left .frameRate = { 30 ,30 } ProfileSet.right .imageInfo .width = 628 ProfileSet.right .imageInfo .format = PXCImage::PIXEL_FORMAT_Y16 ProfileSet.right .options = PXCCapture::Device::STREAM_OPTION_STRONG_STREAM_SYNC ProfileSet.right .frameRate = { 30 ,30 } cout << "配置影像串流..." if (RS_Device->IsStreamProfileSetValid(&ProfileSet)) { RS_Device->SetStreamProfileSet(&ProfileSet) cout << "就绪" << endl } else cout << "不支持的串流组合" << endl system("pause" )
执行结果如下(我只连接了R200): 根据枚举设备的信息输入设备索引号打开指定设备。 StreamType 用来设定所需要获得的视频流内容,QueryStreamProfileSet可以查询设备支持的流有哪些,你可以在函数填充后的StreamProfileSet结构体里看出摄像头能接受的串流组合。 如果不支持则返回false,分辨率、帧率不允许随便设定,像素格式也不支持你把彩色像素设置成位深16的单通道灰度等等。 彩色像素格式有RGB和YUV两大种,单通道像素灰度全是16bit的。 至于options,我们可以查到如下定义:
enum StreamOption { STREAM_OPTION_ANY = 0, /* Optional options */ STREAM_OPTION_OPTIONAL_MASK = 0x0000FFFF, /* The option can be added to any profile, but not necessarily supported for any profile */ STREAM_OPTION_DEPTH_PRECALCULATE_UVMAP = 0x00000001, /* A flag to ask the device to precalculate UVMap */ STREAM_OPTION_STRONG_STREAM_SYNC = 0x00000002, /* A flag to ask the device to perform strong (HW-based) synchronization on the streams with this flag. */ /* Mandatory options */ STREAM_OPTION_MANDATORY_MASK = 0xFFFF0000, /* If the option is supported - the device sets this flag in the profile */ STREAM_OPTION_UNRECTIFIED = 0x00010000 /* A mandatory flag to ask the device to stream unrectified images on the stream with this flag */ };
顾名思义,可选选项是: STREAM_OPTION_ANY // 兼容设置 STREAM_OPTION_DEPTH_PRECALCULATE_UVMAP // 针对3D贴图的同步帧 STREAM_OPTION_STRONG_STREAM_SYNC // 基于硬件的原生同步帧 强制选项: STREAM_OPTION_UNRECTIFIED // 未标定的图像
可选选项的意思是这些选项我们可以根据需要“勾选”,也可以不选。 从运行见结果看出,SDK不会主动选中这个选项,默认是STREAM_OPTION_ANY 强制选项这个叫法有点牵强,从运行结果我们可以看出来,当你在枚举影像串流的时候设备会主动设定。 强制选项为0的时候是标定过的图像,如果需要其他用途可以尝试使用未标定的(比如你更换了电路板上的摄像头)。 以上两类选项可以通过位或运算符叠加。 查来查去的只为满足好奇心,如果你要乖乖地打开摄像头直接给结构体赋值就行。
好了,我们就差获取视频流数据了,下节单独说。 进入吐槽时间: 这个SDK给我的第一印象就是蛋疼、冗杂,好在做了个chm。 可以理解,Intel是为了RealSense SDK的长期发展做准备:命名严谨,数据类型尽量统一,详细的描述变量,各种query函数…… 当然!!!这也是偷懒,自己管理项目的结构用得着用户去理解吗!? 而对于目的简单的开发者而言,你家OpenCV在这面前简直是件艺术品(其实还有个更蛋疼的PCL垫底)。 在目前用法单一的情况下做出来这么多函数,真是不嫌累 ……。
其实KinectV2的SDK也是这毛病,但是面对intel,M$可算是小巫见大巫了。
最后附上程序输出的结果,供大家查阅:
建议大家多多实践一下,换了2016R1的sdk好像有些对应起来的不一样了== idxR200: 流类型 分辨率 帧速率 像素格式 Options *Color[0]: 320x240 @30.0FPS *00010002 _00000000 Depth[0]: 320x240 @30.0FPS *00020000 _00000000 Dual L[0]: 320x240 @30.0FPS *00040000 _00000000 Dual R[0]: 320x240 @30.0FPS *00040000 _00000000 *Color[1]: 320x240 @30.0FPS *00010002 _00000000 Depth[1]: 320x240 @60.0FPS *00020000 _00000000 Dual L[1]: 320x240 @60.0FPS *00040000 _00000000 Dual R[1]: 320x240 @60.0FPS *00040000 _00000000 *Color[2]: 320x240 @30.0FPS *00010002 _00000000 Depth[2]: 480x360 @30.0FPS *00020000 _00000000 Dual L[2]: 480x360 @30.0FPS *00040000 _00000000 Dual R[2]: 480x360 @30.0FPS *00040000 _00000000 *Color[3]: 320x240 @30.0FPS *00010002 _00000000 Depth[3]: 480x360 @30.0FPS *00020000 _00000000 Dual L[3]: 480x360 @30.0FPS *00010004 _00000000 Dual R[3]: 480x360 @30.0FPS *00010004 _00000000 *Color[4]: 320x240 @30.0FPS *00010002 _00000000 Depth[4]: 480x360 @60.0FPS *00020000 _00000000 Dual L[4]: 480x360 @60.0FPS *00040000 _00000000 Dual R[4]: 480x360 @60.0FPS *00040000 _00000000 *Color[5]: 320x240 @30.0FPS *00010002 _00000000 Depth[5]: 480x360 @60.0FPS *00020000 _00000000 Dual L[5]: 480x360 @60.0FPS *00010004 _00000000 Dual R[5]: 480x360 @60.0FPS *00010004 _00000000 *Color[6]: 320x240 @30.0FPS *00010002 _00000000 Depth[6]: 628x468 @30.0FPS *00020000 _00000000 Dual L[6]: 628x468 @30.0FPS *00040000 _00000000 Dual R[6]: 628x468 @30.0FPS *00040000 _00000000 *Color[7]: 320x240 @30.0FPS *00010002 _00000000 Depth[7]: 628x468 @60.0FPS *00020000 _00000000 Dual L[7]: 628x468 @60.0FPS *00040000 _00000000 Dual R[7]: 628x468 @60.0FPS *00040000 _00000000 *Color[8]: 320x240 @60.0FPS *00010002 _00000000 Depth[8]: 320x240 @60.0FPS *00020000 _00000000 Dual L[8]: 320x240 @60.0FPS *00040000 _00000000 Dual R[8]: 320x240 @60.0FPS *00040000 _00000000 *Color[9]: 320x240 @60.0FPS *00010002 _00000000 Depth[9]: 480x360 @60.0FPS *00020000 _00000000 Dual L[9]: 480x360 @60.0FPS *00040000 _00000000 Dual R[9]: 480x360 @60.0FPS *00040000 _00000000 *Color[10]: 320x240 @60.0FPS *00010002 _00000000 Depth[10]: 480x360 @60.0FPS *00020000 _00000000 Dual L[10]: 480x360 @60.0FPS *00010004 _00000000 Dual R[10]: 480x360 @60.0FPS *00010004 _00000000 *Color[11]: 320x240 @60.0FPS *00010002 _00000000 Depth[11]: 628x468 @60.0FPS *00020000 _00000000 Dual L[11]: 628x468 @60.0FPS *00040000 _00000000 Dual R[11]: 628x468 @60.0FPS *00040000 _00000000 *Color[12]: 640x480 @30.0FPS *00010002 _00000000 Depth[12]: 320x240 @30.0FPS *00020000 _00000000 Dual L[12]: 320x240 @30.0FPS *00040000 _00000000 Dual R[12]: 320x240 @30.0FPS *00040000 _00000000 *Color[13]: 640x480 @30.0FPS *00010002 _00000000 Depth[13]: 320x240 @60.0FPS *00020000 _00000000 Dual L[13]: 320x240 @60.0FPS *00040000 _00000000 Dual R[13]: 320x240 @60.0FPS *00040000 _00000000 *Color[14]: 640x480 @30.0FPS *00010002 _00000000 Depth[14]: 480x360 @30.0FPS *00020000 _00000000 Dual L[14]: 480x360 @30.0FPS *00040000 _00000000 Dual R[14]: 480x360 @30.0FPS *00040000 _00000000 *Color[15]: 640x480 @30.0FPS *00010002 _00000000 Depth[15]: 480x360 @30.0FPS *00020000 _00000000 Dual L[15]: 480x360 @30.0FPS *00010004 _00000000 Dual R[15]: 480x360 @30.0FPS *00010004 _00000000 *Color[16]: 640x480 @30.0FPS *00010002 _00000000 Depth[16]: 480x360 @60.0FPS *00020000 _00000000 Dual L[16]: 480x360 @60.0FPS *00040000 _00000000 Dual R[16]: 480x360 @60.0FPS *00040000 _00000000 *Color[17]: 640x480 @30.0FPS *00010002 _00000000 Depth[17]: 480x360 @60.0FPS *00020000 _00000000 Dual L[17]: 480x360 @60.0FPS *00010004 _00000000 Dual R[17]: 480x360 @60.0FPS *00010004 _00000000 *Color[18]: 640x480 @30.0FPS *00010002 _00000000 Depth[18]: 628x468 @30.0FPS *00020000 _00000000 Dual L[18]: 628x468 @30.0FPS *00040000 _00000000 Dual R[18]: 628x468 @30.0FPS *00040000 _00000000 *Color[19]: 640x480 @30.0FPS *00010002 _00000000 Depth[19]: 628x468 @60.0FPS *00020000 _00000000 Dual L[19]: 628x468 @60.0FPS *00040000 _00000000 Dual R[19]: 628x468 @60.0FPS *00040000 _00000000 *Color[20]: 640x480 @60.0FPS *00010002 _00000000 Depth[20]: 320x240 @60.0FPS *00020000 _00000000 Dual L[20]: 320x240 @60.0FPS *00040000 _00000000 Dual R[20]: 320x240 @60.0FPS *00040000 _00000000 *Color[21]: 640x480 @60.0FPS *00010002 _00000000 Depth[21]: 480x360 @60.0FPS *00020000 _00000000 Dual L[21]: 480x360 @60.0FPS *00040000 _00000000 Dual R[21]: 480x360 @60.0FPS *00040000 _00000000 *Color[22]: 640x480 @60.0FPS *00010002 _00000000 Depth[22]: 480x360 @60.0FPS *00020000 _00000000 Dual L[22]: 480x360 @60.0FPS *00010004 _00000000 Dual R[22]: 480x360 @60.0FPS *00010004 _00000000 *Color[23]: 640x480 @60.0FPS *00010002 _00000000 Depth[23]: 628x468 @60.0FPS *00020000 _00000000 Dual L[23]: 628x468 @60.0FPS *00040000 _00000000 Dual R[23]: 628x468 @60.0FPS *00040000 _00000000 *Color[24]: 1280x720 @30.0FPS *00010002 _00000000 Depth[24]: 320x240 @30.0FPS *00020000 _00000000 Dual L[24]: 320x240 @30.0FPS *00040000 _00000000 Dual R[24]: 320x240 @30.0FPS *00040000 _00000000 *Color[25]: 1280x720 @30.0FPS *00010002 _00000000 Depth[25]: 320x240 @60.0FPS *00020000 _00000000 Dual L[25]: 320x240 @60.0FPS *00040000 _00000000 Dual R[25]: 320x240 @60.0FPS *00040000 _00000000 *Color[26]: 1280x720 @30.0FPS *00010002 _00000000 Depth[26]: 480x360 @30.0FPS *00020000 _00000000 Dual L[26]: 480x360 @30.0FPS *00040000 _00000000 Dual R[26]: 480x360 @30.0FPS *00040000 _00000000 *Color[27]: 1280x720 @30.0FPS *00010002 _00000000 Depth[27]: 480x360 @30.0FPS *00020000 _00000000 Dual L[27]: 480x360 @30.0FPS *00010004 _00000000 Dual R[27]: 480x360 @30.0FPS *00010004 _00000000 *Color[28]: 1280x720 @30.0FPS *00010002 _00000000 Depth[28]: 480x360 @60.0FPS *00020000 _00000000 Dual L[28]: 480x360 @60.0FPS *00040000 _00000000 Dual R[28]: 480x360 @60.0FPS *00040000 _00000000 *Color[29]: 1280x720 @30.0FPS *00010002 _00000000 Depth[29]: 480x360 @60.0FPS *00020000 _00000000 Dual L[29]: 480x360 @60.0FPS *00010004 _00000000 Dual R[29]: 480x360 @60.0FPS *00010004 _00000000 *Color[30]: 1280x720 @30.0FPS *00010002 _00000000 Depth[30]: 628x468 @30.0FPS *00020000 _00000000 Dual L[30]: 628x468 @30.0FPS *00040000 _00000000 Dual R[30]: 628x468 @30.0FPS *00040000 _00000000 *Color[31]: 1280x720 @30.0FPS *00010002 _00000000 Depth[31]: 628x468 @60.0FPS *00020000 _00000000 Dual L[31]: 628x468 @60.0FPS *00040000 _00000000 Dual R[31]: 628x468 @60.0FPS *00040000 _00000000 *Color[32]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[32]: 320x240 @30.0FPS *00020000 _00000000 Dual L[32]: 320x240 @30.0FPS *00040000 _00000000 Dual R[32]: 320x240 @30.0FPS *00040000 _00000000 *Color[33]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[33]: 320x240 @60.0FPS *00020000 _00000000 Dual L[33]: 320x240 @60.0FPS *00040000 _00000000 Dual R[33]: 320x240 @60.0FPS *00040000 _00000000 *Color[34]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[34]: 480x360 @30.0FPS *00020000 _00000000 Dual L[34]: 480x360 @30.0FPS *00040000 _00000000 Dual R[34]: 480x360 @30.0FPS *00040000 _00000000 *Color[35]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[35]: 480x360 @30.0FPS *00020000 _00000000 Dual L[35]: 480x360 @30.0FPS *00010004 _00000000 Dual R[35]: 480x360 @30.0FPS *00010004 _00000000 *Color[36]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[36]: 480x360 @60.0FPS *00020000 _00000000 Dual L[36]: 480x360 @60.0FPS *00040000 _00000000 Dual R[36]: 480x360 @60.0FPS *00040000 _00000000 *Color[37]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[37]: 480x360 @60.0FPS *00020000 _00000000 Dual L[37]: 480x360 @60.0FPS *00010004 _00000000 Dual R[37]: 480x360 @60.0FPS *00010004 _00000000 *Color[38]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[38]: 628x468 @30.0FPS *00020000 _00000000 Dual L[38]: 628x468 @30.0FPS *00040000 _00000000 Dual R[38]: 628x468 @30.0FPS *00040000 _00000000 *Color[39]: 1920x1080 @30.0FPS *00010002 _00000000 Depth[39]: 628x468 @60.0FPS *00020000 _00000000 Dual L[39]: 628x468 @60.0FPS *00040000 _00000000 Dual R[39]: 628x468 @60.0FPS *00040000 _00000000 *Color[40]: 640x480 @30.0FPS *00010002 _00010000 Depth[40]: 320x240 @30.0FPS *00020000 _00000000 Dual L[40]: 320x240 @30.0FPS *00040000 _00000000 Dual R[40]: 320x240 @30.0FPS *00040000 _00000000 *Color[41]: 640x480 @30.0FPS *00010002 _00010000 Depth[41]: 320x240 @60.0FPS *00020000 _00000000 Dual L[41]: 320x240 @60.0FPS *00040000 _00000000 Dual R[41]: 320x240 @60.0FPS *00040000 _00000000 *Color[42]: 640x480 @30.0FPS *00010002 _00010000 Depth[42]: 480x360 @30.0FPS *00020000 _00000000 Dual L[42]: 480x360 @30.0FPS *00040000 _00000000 Dual R[42]: 480x360 @30.0FPS *00040000 _00000000 *Color[43]: 640x480 @30.0FPS *00010002 _00010000 Depth[43]: 480x360 @30.0FPS *00020000 _00000000 Dual L[43]: 480x360 @30.0FPS *00010004 _00000000 Dual R[43]: 480x360 @30.0FPS *00010004 _00000000 *Color[44]: 640x480 @30.0FPS *00010002 _00010000 Depth[44]: 480x360 @60.0FPS *00020000 _00000000 Dual L[44]: 480x360 @60.0FPS *00040000 _00000000 Dual R[44]: 480x360 @60.0FPS *00040000 _00000000 *Color[45]: 640x480 @30.0FPS *00010002 _00010000 Depth[45]: 480x360 @60.0FPS *00020000 _00000000 Dual L[45]: 480x360 @60.0FPS *00010004 _00000000 Dual R[45]: 480x360 @60.0FPS *00010004 _00000000 *Color[46]: 640x480 @30.0FPS *00010002 _00010000 Depth[46]: 628x468 @30.0FPS *00020000 _00000000 Dual L[46]: 628x468 @30.0FPS *00040000 _00000000 Dual R[46]: 628x468 @30.0FPS *00040000 _00000000 *Color[47]: 640x480 @30.0FPS *00010002 _00010000 Depth[47]: 628x468 @60.0FPS *00020000 _00000000 Dual L[47]: 628x468 @60.0FPS *00040000 _00000000 Dual R[47]: 628x468 @60.0FPS *00040000 _00000000 *Color[48]: 640x480 @60.0FPS *00010002 _00010000 Depth[48]: 320x240 @60.0FPS *00020000 _00000000 Dual L[48]: 320x240 @60.0FPS *00040000 _00000000 Dual R[48]: 320x240 @60.0FPS *00040000 _00000000 *Color[49]: 640x480 @60.0FPS *00010002 _00010000 Depth[49]: 480x360 @60.0FPS *00020000 _00000000 Dual L[49]: 480x360 @60.0FPS *00040000 _00000000 Dual R[49]: 480x360 @60.0FPS *00040000 _00000000 *Color[50]: 640x480 @60.0FPS *00010002 _00010000 Depth[50]: 480x360 @60.0FPS *00020000 _00000000 Dual L[50]: 480x360 @60.0FPS *00010004 _00000000 Dual R[50]: 480x360 @60.0FPS *00010004 _00000000 *Color[51]: 640x480 @60.0FPS *00010002 _00010000 Depth[51]: 628x468 @60.0FPS *00020000 _00000000 Dual L[51]: 628x468 @60.0FPS *00040000 _00000000 Dual R[51]: 628x468 @60.0FPS *00040000 _00000000 *Color[52]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[52]: 320x240 @30.0FPS *00020000 _00000000 Dual L[52]: 320x240 @30.0FPS *00040000 _00000000 Dual R[52]: 320x240 @30.0FPS *00040000 _00000000 *Color[53]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[53]: 320x240 @60.0FPS *00020000 _00000000 Dual L[53]: 320x240 @60.0FPS *00040000 _00000000 Dual R[53]: 320x240 @60.0FPS *00040000 _00000000 *Color[54]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[54]: 480x360 @30.0FPS *00020000 _00000000 Dual L[54]: 480x360 @30.0FPS *00040000 _00000000 Dual R[54]: 480x360 @30.0FPS *00040000 _00000000 *Color[55]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[55]: 480x360 @30.0FPS *00020000 _00000000 Dual L[55]: 480x360 @30.0FPS *00010004 _00000000 Dual R[55]: 480x360 @30.0FPS *00010004 _00000000 *Color[56]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[56]: 480x360 @60.0FPS *00020000 _00000000 Dual L[56]: 480x360 @60.0FPS *00040000 _00000000 Dual R[56]: 480x360 @60.0FPS *00040000 _00000000 *Color[57]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[57]: 480x360 @60.0FPS *00020000 _00000000 Dual L[57]: 480x360 @60.0FPS *00010004 _00000000 Dual R[57]: 480x360 @60.0FPS *00010004 _00000000 *Color[58]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[58]: 628x468 @30.0FPS *00020000 _00000000 Dual L[58]: 628x468 @30.0FPS *00040000 _00000000 Dual R[58]: 628x468 @30.0FPS *00040000 _00000000 *Color[59]: 1920x1080 @30.0FPS *00010002 _00010000 Depth[59]: 628x468 @60.0FPS *00020000 _00000000 Dual L[59]: 628x468 @60.0FPS *00040000 _00000000 Dual R[59]: 628x468 @60.0FPS *00040000 _00000000 *Color[60]: 640x480 @30.0FPS *00010000 _00010000 Depth[60]: 320x240 @30.0FPS *00020000 _00000000 Dual L[60]: 320x240 @30.0FPS *00040000 _00000000 Dual R[60]: 320x240 @30.0FPS *00040000 _00000000 *Color[61]: 640x480 @30.0FPS *00010000 _00010000 Depth[61]: 320x240 @60.0FPS *00020000 _00000000 Dual L[61]: 320x240 @60.0FPS *00040000 _00000000 Dual R[61]: 320x240 @60.0FPS *00040000 _00000000 *Color[62]: 640x480 @30.0FPS *00010000 _00010000 Depth[62]: 480x360 @30.0FPS *00020000 _00000000 Dual L[62]: 480x360 @30.0FPS *00040000 _00000000 Dual R[62]: 480x360 @30.0FPS *00040000 _00000000 *Color[63]: 640x480 @30.0FPS *00010000 _00010000 Depth[63]: 480x360 @30.0FPS *00020000 _00000000 Dual L[63]: 480x360 @30.0FPS *00010004 _00000000 Dual R[63]: 480x360 @30.0FPS *00010004 _00000000 *Color[64]: 640x480 @30.0FPS *00010000 _00010000 Depth[64]: 480x360 @60.0FPS *00020000 _00000000 Dual L[64]: 480x360 @60.0FPS *00040000 _00000000 Dual R[64]: 480x360 @60.0FPS *00040000 _00000000 *Color[65]: 640x480 @30.0FPS *00010000 _00010000 Depth[65]: 480x360 @60.0FPS *00020000 _00000000 Dual L[65]: 480x360 @60.0FPS *00010004 _00000000 Dual R[65]: 480x360 @60.0FPS *00010004 _00000000 *Color[66]: 640x480 @30.0FPS *00010000 _00010000 Depth[66]: 628x468 @30.0FPS *00020000 _00000000 Dual L[66]: 628x468 @30.0FPS *00040000 _00000000 Dual R[66]: 628x468 @30.0FPS *00040000 _00000000 *Color[67]: 640x480 @30.0FPS *00010000 _00010000 Depth[67]: 628x468 @60.0FPS *00020000 _00000000 Dual L[67]: 628x468 @60.0FPS *00040000 _00000000 Dual R[67]: 628x468 @60.0FPS *00040000 _00000000 *Color[68]: 640x480 @60.0FPS *00010000 _00010000 Depth[68]: 320x240 @60.0FPS *00020000 _00000000 Dual L[68]: 320x240 @60.0FPS *00040000 _00000000 Dual R[68]: 320x240 @60.0FPS *00040000 _00000000 *Color[69]: 640x480 @60.0FPS *00010000 _00010000 Depth[69]: 480x360 @60.0FPS *00020000 _00000000 Dual L[69]: 480x360 @60.0FPS *00040000 _00000000 Dual R[69]: 480x360 @60.0FPS *00040000 _00000000 *Color[70]: 640x480 @60.0FPS *00010000 _00010000 Depth[70]: 480x360 @60.0FPS *00020000 _00000000 Dual L[70]: 480x360 @60.0FPS *00010004 _00000000 Dual R[70]: 480x360 @60.0FPS *00010004 _00000000 *Color[71]: 640x480 @60.0FPS *00010000 _00010000 Depth[71]: 628x468 @60.0FPS *00020000 _00000000 Dual L[71]: 628x468 @60.0FPS *00040000 _00000000 Dual R[71]: 628x468 @60.0FPS *00040000 _00000000 *Color[72]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[72]: 320x240 @30.0FPS *00020000 _00000000 Dual L[72]: 320x240 @30.0FPS *00040000 _00000000 Dual R[72]: 320x240 @30.0FPS *00040000 _00000000 *Color[73]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[73]: 320x240 @60.0FPS *00020000 _00000000 Dual L[73]: 320x240 @60.0FPS *00040000 _00000000 Dual R[73]: 320x240 @60.0FPS *00040000 _00000000 *Color[74]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[74]: 480x360 @30.0FPS *00020000 _00000000 Dual L[74]: 480x360 @30.0FPS *00040000 _00000000 Dual R[74]: 480x360 @30.0FPS *00040000 _00000000 *Color[75]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[75]: 480x360 @30.0FPS *00020000 _00000000 Dual L[75]: 480x360 @30.0FPS *00010004 _00000000 Dual R[75]: 480x360 @30.0FPS *00010004 _00000000 *Color[76]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[76]: 480x360 @60.0FPS *00020000 _00000000 Dual L[76]: 480x360 @60.0FPS *00040000 _00000000 Dual R[76]: 480x360 @60.0FPS *00040000 _00000000 *Color[77]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[77]: 480x360 @60.0FPS *00020000 _00000000 Dual L[77]: 480x360 @60.0FPS *00010004 _00000000 Dual R[77]: 480x360 @60.0FPS *00010004 _00000000 *Color[78]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[78]: 628x468 @30.0FPS *00020000 _00000000 Dual L[78]: 628x468 @30.0FPS *00040000 _00000000 Dual R[78]: 628x468 @30.0FPS *00040000 _00000000 *Color[79]: 1920x1080 @30.0FPS *00010000 _00010000 Depth[79]: 628x468 @60.0FPS *00020000 _00000000 Dual L[79]: 628x468 @60.0FPS *00040000 _00000000 Dual R[79]: 628x468 @60.0FPS *00040000 _00000000