设备网络SDK开发使用手册 |
<?xml version="1.0" encoding="utf-8"?>
<!--req, 设备录像相关能力集描述 --> <RecordAbility version="2.0"> <Label>true</Label> <!--opt,是否支持录像标签--> <CmdTriggerRecord>true</CmdTriggerRecord > <!--req,是否支持命令触发录像,对应NET_DVR_CMD_TRIGGER_PERIOD_RECORD_PARA--> <PackRecord>true</PackRecord > <!--opt,是否支持按时间打包录像,对应NET_DVR_RECORD_PACK--> <RecordScheduleNum>8</RecordScheduleNum><!--req,录像时间段个数--> <!--req, 录像计划能力,对应结构体NET_DVR_RECORD_V30只增加CVR新增的能力,默认其他均支持--> <recordPlanAbility opt="substream,passback,lockduration,recordbackup"/> <!--req, 是否支持查询存档卷录像,不支持不显示--> <findBackupRecordAbility>true</findBackupRecordAbility> <MonthlyDistribution>true</MonthlyDistribution><!--opt,是否支持月历搜索--> <monthlyDistributionAndRecodeType>true</monthlyDistributionAndRecodeType><!--opt,是否支持月历搜索中的录像类型--> <MDRCondStreamType opt="main,sub"></MDRCondStreamType> <!--opt, 月历搜索条件支持的码流类型--> <DailyDistribution>true</DailyDistribution><!--opt,是否支持日历搜索--> <findWorkingDeviceRecord>true</findWorkingDeviceRecord > <!--opt, 是否支持备机上查询工作机录像,不支持不显示,对应NET_DVR_FILECOND_V40中的szWorkDeviceIP,Netra3.0.0新增--> <autoUnlockTimePointAbility>true</autoUnlockTimePointAbility> <!--req, 是否支持自动解锁时间点,结构体NET_DVR_TIME_LOCK不支持不显示此节点,CVR2.2.0新增--> <findWithATMCond>true</findWithATMCond><!--req, 是否支持带ATM信息的查询,不支持不返回该节点,ATM H-DVR产品新增--> <PlayBack> <controlSpeed min="" max=""/> <!--req,回放是否支持设置码流--> <playBackReverseByName>true</playBackReverseByName> <!--req,是否支持按文件倒放--> <playBackReverseByTime>true</playBackReverseByTime> <!--req,是否支持按时间倒放--> <playbackBackupRecordAbility>true</playbackBackupRecordAbility> <!--req, 否支持回放存档卷录像,不支持不显示--> <supportInvalidChannelPlaybackByName>true</supportInvalidChannelPlaybackByName> <!--是否支持无效数字通道搜索和按文件名回放录像,Netra3.0.0新增--> <supportInvalidChannelPlaybackByTime>true</supportInvalidChannelPlaybackByTime> <!--是否支持无效数字通道按时间回放录像,Netra3.0.0新增--> <PlayConvert> <!--req, 回放转码压缩参数配置,该节点不返回,表示不支持转码回放功能--> <VideoEncodeType> <!--req, 0-私有264, 1-标准h264, 2-标准mpeg4, 7-M-JPEG, 8-MPEG2--> <Range>0,1,2,7,8</Range> </VideoEncodeType> <VideoEncodeEfficiency> <!--req, 视频编码复杂度:0-低,1-中,2-高--> <Range>0</Range> </VideoEncodeEfficiency> <!--req, 是否支持CABAC--> <VideoCabac>1</VideoCabac> <VideoResolutionList> <VideoResolutionEntry> <Index>1</Index> <Name>CIF</Name> <Resolution>352*288</Resolution><!--req, CIF--> <!--req, 为了兼容原解析方式,只支持N制式的设备也必须P制的帧率节点,且P制和N制的帧率一致; 只支持P制的设备仅返回P制的帧率节点;P制和N制都支持的,返回两个制式的帧率节点--> <!--req, P制支持的帧率:0-全帧率;1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6;9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;17-25;18-30;19-35;20-40;21-45;22-50;23-55;24-60; 25-3;26-5; 27-7; 28-9--> <VideoFrameRate>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24</VideoFrameRate> <!--req, P制支持的帧率;如果没有下面VideoFrameRateN节点,表示P制和N制支持的帧率一致,都用此节点表示--> <!--req, N制支持的帧率:0-全帧率;1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6;9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22; 17-25; 18-30; 19-35; 20-40; 21-45; 22-50; 23-55; 24-60; 25-3; 26-5; 27-7; 28-9--> <VideoFrameRateN>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24</VideoFrameRateN> <!--req, N制支持的帧率;如果没有此节点,表示P制和N制支持的帧率一致,都用VideoFrameRate节点表示--> <!--req, 编码码率节点:如果设备支持自定义码率,以最大最小格式返回,如果设备不支持自定义码率,以Range格式返回--> <VideoBitrate> <!--req, 编码码率--> <Min>16</Min><!--req, 最小码率(单位Kb)--> <Max>16384</Max><!--req, 最大码率(单位Kb)--> <!--req, 0-保留,1-16K,2-32K,3-48k,4-64K,5-80K,6-96K,7-128K,8-160k,9-192K,10-224K,11-256K,12-320K, 13-384K,14-448K,15-512K,16-640K,17-768K,18-896K,19-1024K,20-1280K,21-1536K,22-1792K,23-2048K,24-3072K, 25-4096K,26-8192K,27-16384K--> <Range>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27</Range> </VideoBitrate> </VideoResolutionEntry> <VideoResolutionEntry> <Index>2</Index> <Name>QCIF</Name> <Resolution>176*144</Resolution><!--req, QCIF--> <!--req, 为了兼容原解析方式,只支持N制式的设备也必须P制的帧率节点,且P制和N制的帧率一致;只支持P制的设备仅返回P制的帧率节点; P制和N制都支持的,返回两个制式的帧率节点--> <!--req, P制支持的帧率:0-全帧率;1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6;9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;17-25;18-30;19-35;20-40;21-45;22-50;23-55;24-60; 25-3;26-5; 27-7; 28-9--> <VideoFrameRate>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24</VideoFrameRate> <!--req, P制支持的帧率;如果没有下面VideoFrameRateN节点,表示P制和N制支持的帧率一致,都用此节点表示--> <!--req,N制支持的帧率:0-全帧率;1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6;9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;17-25;18-30;19-35;20-40;21-45;22-50;23-55;24-60 ; 25-3;26-5; 27-7; 28-9--> <VideoFrameRateN>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24</VideoFrameRateN> <!--req, N制支持的帧率;如果没有此节点,表示P制和N制支持的帧率一致,都用VideoFrameRate节点表示--> <!--req, 编码码率节点:如果设备支持自定义码率,以最大最小格式返回,如果设备不支持自定义码率,以Range格式返回--> <VideoBitrate> <!--req, 编码码率--> <Min>16</Min><!--req, 最小码率(单位Kb)--> <Max>16384</Max><!--req, 最大码率(单位Kb)--> <!--req, 0-保留,1-16K,2-32K,3-48k,4-64K,5-80K,6-96K,7-128K,8-160k,9-192K,10-224K,11-256K,12-320K,13-384K, 14-448K,15-512K,16-640K,17-768K,18-896K,19-1024K,20-1280K,21-1536K,22-1792K,23-2048K,24-3072K, 25-4096K,26-8192K,27-16384K--> <Range>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27</Range> </VideoBitrate> </VideoResolutionEntry> <VideoResolutionEntry> <Index>6</Index> <Name>QVGA</Name> <Resolution>320*240</Resolution><!--req, QVGA--> <!--req, 为了兼容原解析方式,只支持N制式的设备也必须P制的帧率节点,且P制和N制的帧率一致;只支持P制的设备仅返回P制的帧率节点; P制和N制都支持的,返回两个制式的帧率节点--> <!--req, P制支持的帧率:0-全帧率;1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6;9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;17-25;18-30;19-35;20-40;21-45;22-50;23-55;24-60; 25-3;26-5; 27-7; 28-9--> <VideoFrameRate>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24</VideoFrameRate> <!--req, P制支持的帧率;如果没有下面VideoFrameRateN节点,表示P制和N制支持的帧率一致,都用此节点表示--> <!--req, N制支持的帧率:0-全帧率;1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6;9-8; 10-10; 11-12; 12-16; 13-20; 14-15; 15-18; 16-22;17-25;18-30;19-35;20-40;21-45;22-50;23-55;24-60; 25-3;26-5; 27-7; 28-9--> <VideoFrameRateN>0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24</VideoFrameRateN> <!--req, N制支持的帧率;如果没有此节点,表示P制和N制支持的帧率一致,都用VideoFrameRate节点表示--> <!--req, 编码码率节点:如果设备支持自定义码率,以最大最小格式返回,如果设备不支持自定义码率,以Range格式返回--> <VideoBitrate> <!--req, 编码码率--> <Min>16</Min> <!--req,最小码率(单位Kb)--> <Max>16384</Max><!--req,最大码率(单位Kb)--> <!--req,0-保留,1-16K,2-32K,3-48k,4-64K,5-80K,6-96K,7-128K,8-160k,9-192K,10-224K,11-256K,12-320K,13-384K, 14-448K,15-512K,16-640K,17-768K,18-896K,19-1024K,20-1280K,21-1536K,22-1792K,23-2048K,24-3072K,25-4096K, 26-8192K,27-16384K--> <Range>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27</Range> </VideoBitrate> </VideoResolutionEntry> </VideoResolutionList> <IntervalBPFrame> <!--req,0-BBP帧; 1-BP帧;2单P帧--> <Range>0,1,2</Range> </IntervalBPFrame> <EFrame>0</EFrame> <!--req,E帧最大编码能力--> <SVCFunEnable opt="true,false"/><!--req,是否启用, true-启用,false-不启用--> </PlayConvert> <TraversingVirtualPlane> <!--req,越界侦测后检索,不支持不返回--> <alertlineNum>8</alertlineNum><!--req,越界侦测支持的最大警戒线个数--> <AlertLine> <!--req,根据ALERTLINENum的值,本节点会有相应的个数--> <id>1</id> <crossDirection opt="bothway,leftToRight,rightToLeft"/> <!--req,警戒面支持的跨越方向: 0-双向,1-从左到右2-从右到左--> <sensitivityLevel min="0" max="100"/> <!--req,灵敏度--> </AlertLine> <alarmHandleType opt="monitor,audio,center,alarmout,picture,wirelesslight,uploadftp,uploadcloud"/> <!--req,处理类型,picture:抓图并邮件(此处由于早期能力缺少uploadftp,后才加上,此处若解析不到该字符串, 判断是否支持抓图传FTP再解析设备软硬件能力中的UploadFTP节点)--> <PreTime> <!--req,智能报警提前时间 单位:秒--> <rate min = "0" max = "600"/> <!--req,智能报警提前时间 单位:秒--> </PreTime> <DelayTime> <!--req,智能报警提前时间 单位:秒--> <rate min = "0" max = "600"/> <!--req, 智能报警延迟时间 单位:秒--> </DelayTime> <supportPTZInfo>true</supportPTZInfo><!--req,检索时是否支持带PTZ信息--> </TraversingVirtualPlane> <FieldDetection> <!--req,区域入侵侦测后检索,不支持不返回--> <intrusiongionNum>8</intrusiongionNum> <!--req,区域入侵侦测支持的最大警戒线个数 --> <Intrusiongion> <!--req,INTRUSIONREGIONNum,本节点会有相应的个数--> <id>1</id> <regionNum min="3" max="10"/> <!--req,每个区域入侵侦测支持的有效点个数--> <duration min="1" max="100"/> <!--req,触发时间阈值--> <sensitivityLevel min="0" max="100"/> <!--req,灵敏度--> <rate min = "0" max = "100"/> <!--req, 占比:区域内所有未报警目标尺寸目标占区域面积的比重--> </Intrusiongion> <alarmHandleType opt="monitor,audio,center,alarmout,picture,wirelesslight,uploadftp,uploadcloud"/> <!--req,处理类型,picture:抓图并邮件(此处由于早期能力缺少uploadftp,后才加上,此处若解析不到该字符串, 判断是否支持抓图传FTP再解析设备软硬件能力中的UploadFTP节点)--> <PreTime> <!--req, 智能报警提前时间,单位:秒--> <rate min = "0" max = "600"/> <!--req, 智能报警提前时间,单位:秒--> </PreTime> <DelayTime> <!--req, 智能报警提前时间,单位:秒--> <rate min = "0" max = "600"/> <!--req, 智能报警延迟时间,单位:秒--> </DelayTime> <supportPTZInfo>true</supportPTZInfo> <!--req,检索时是否支持带PTZ信息--> </FieldDetection> <FaceSnapDetection> <!--req,人脸侦测后检索,不支持不返回--> <pointNum>4</pointNum > <!--req,人脸侦测识别区域有效点个数--> <FilterMode opt = "imagePix,realWorld,default"/> <!--req,支持的尺寸过滤器类型0-根据像素大小设置, 1-根据实际大小设置,2-默认模式--> <alarmHandleType opt="monitor,audio,center,alarmout,picture,wirelesslight,uploadftp"/> <!--req,处理类型,picture:抓图并邮件(此处由于早期能力缺少uploadftp,后才加上,此处若解析不到该字符串,判断是否支持抓图传FTP再解析设备软硬件能力中的UploadFTP节点)--> <PreTime> <!--req,智能报警提前时间,单位:秒--> <rate min = "0" max = "600"/> </PreTime> <DelayTime> <!--req, 智能报警延迟时间 单位:秒--> <rate min = "0" max = "600"/> </DelayTime> <sensitivityLevel min="0" max="100"/> <!--req,灵敏度--> </FaceSnapDetection> </PlayBack> <sceneChangeDetectionRecord>true</sceneChangeDetectionRecord> <!--req,是否支持场景变更侦测搜索--> <faceDetectionRecord>true</faceDetectionRecord> <!--req,是否支持人脸侦测录像查询--> <allAlarmTypeRecord>true</allAlarmTypeRecord> <!--opt,是否支持“PIR|无线报警|呼救报警”所有报警类型录像,需要同时判断设备的报警能力集的<PIRAlarm>是否存在,才能断定本功能是否支持--> <ANR>true</ANR><!--opt,是否支持ANR功能(IPC断网录像)--> <drawFrameInPlayBack>true</drawFrameInPlayBack><!--req,是否支持回放过程中抽帧--> <RecordLockTime> <!--opt,如果该节点不返回,则设备默认最大锁定时间为60天--> <rate min = "0" max = "750"/> <!--req,录像锁定时间 单位:天--> </RecordLockTime> <supportGetGopInfo opt="true,false"/> <!--opt,是否支持GOP结构化信息获取--> <CourseNameSearch> <!--opt, 是否支持按课程查找不支持则不返回--> <supportFuzzySearch>true</supportFuzzySearch> <!--req, 支持模糊查找--> </CourseNameSearch> <recordPlan> <mutexAbility opt="LineDetection,FieldDetection,scenechangedetection,regionEntrance, regionExiting,loitering,group,rapidMove,parking,unattendedBaggage,attendedBaggage"/> <!--req, 互斥能力,SMART智能--> </recordPlan> <CMDRecordParameter> <!--opt 命令触发录像参数--> <lockDuration min="0" max="0xffffffff"/> <!--opt 加锁时间--> <bakup opt="true,false"/> <!--opt 是否存档--> <preRecord opt="true,false"/> <!--opt 是否预录--> </CMDRecordParameter> <supportGetCourseFile opt="true,false"/> <!--opt 是否支持按课程回放--> </RecordAbility> |