设备网络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>