You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

海康威视新设备ISAPI人脸上传FDID参数报错咨询

海康威视ISAPI人脸上传FDID参数报错问题

问题场景

我采购了一台新的海康威视人脸识别设备,原有适配旧设备的人脸上传逻辑在新设备上失效,具体情况如下:

请求端点

http://<ip>/ISAPI/Intelligent/FDLib/FaceDataRecord?format=json

请求体

{"faceUR": "http://example.com/path/to/image.jpg",
"faceLibType": "blackFD",
"FDID": 1,
"FPID": "A216627674",
"featurePointType": "face"
}

返回错误

{"statusCode": 6,
"statusString": "Invalid Content",
"subStatusCode": "MessageParametersLack",
"errorCode": 1610612761,
"errorMsg": "FDID"
}

适配旧设备的PHP代码

// Upload Face 
public function setUserImageUrl($device, $employeeNo, $imageUrl)
{
    $host = $device;

    $url  = 'ISAPI/Intelligent/FDLib/FaceDataRecord?format=json';
    $body = '{
                "faceURL": "' . $imageUrl . '",
                "faceLibType": "blackFD",
                "FDID": 1,
                "FPID": "' . $employeeNo . '",
                "featurePointType":"face"
            }';
    $response = $this->request('POST', $host, $url, $body);

    if (!$response) {
        log::info('img fail');
        return false;
    }

    return json_decode($response);
}

核心疑问

新设备的ISAPI接口中,FDID字段需要接收何种值?是特定数值要求还是数据类型有变化?


排查与解决建议

  1. 先修正字段拼写错误
    请求体里的faceUR是拼写错误,正确字段应为faceURL(少了一个字母L),这个错误可能导致接口解析参数异常,连带触发FDID的报错提示。

  2. 确认FDID的合法取值
    新设备的FDID并非固定为1,需先查询设备已配置的人脸库ID:

    • 调用GET http://<ip>/ISAPI/Intelligent/FDLib?format=json接口,获取设备上所有已存在的人脸库信息,从中提取对应的FDID值。
    • 若需新增人脸库,先调用创建接口POST http://<ip>/ISAPI/Intelligent/FDLib?format=json,请求体示例:
      {
          "FDID": 2,
          "name": "自定义黑名单库",
          "type": "blackFD"
      }
      
      成功创建后,用返回的FDID进行人脸上传。
  3. 检查数据类型匹配
    新设备可能要求FDID为字符串类型而非数字,尝试将请求体中的"FDID": 1改为"FDID": "1"再测试。

  4. 查阅官方文档
    海康新设备的ISAPI接口规范有更新,务必查阅对应型号的《ISAPI开发手册》,其中会明确FaceDataRecord接口的参数要求,包括FDID的取值范围、数据类型等细节。

内容的提问来源于stack exchange,提问作者Alex c

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 05:25:59