Umrbek Yusupov
Umrbek Yusupov

Reputation: 1

How add person to Hikvision face recognition terminals with new firmware via OpenAPI?

I tried add person to remote device and it was successfully if the year of firmware is older, for example "20220310". If the year of firmware of device is newer, for example "20230208" it was an error on add person: The error code 0x60000017 is "Invalid JSON Format".

Here are my requests and responses.

Add person request:

{"employeeNo": "10", "type": 1, "familyName": "aa", "givenName": "aa", "email": "[email protected]", "phone": "12344535", "facePicture": "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", "cardNo": "10"}

Person status response:

{'data': [{'personId': '8a748377896ebfe10189732317f51575', 'deviceLists': [{'deviceSerial': 'L35855384', 'status': 2, 'subStatus': 0, 'error': '0x60000017'}]}], 'errorCode': '0'}

I tried to change my request but I wrote how explained in manual. And what is interesting, this request was successfully written to devices with old firmware.

Upvotes: 0

Views: 1696

Answers (2)

Edgar Zavareze
Edgar Zavareze

Reputation: 1

the updated firmware put more faces in the device? 10k to 50k faces? if yes, in the new firmware hikvision dont store the face picture, maybe the error ocurs because of that, i have tested in my terminal and the person was stored and face recognition works, but it always report this error. on the admin panel picture apears with an error.

if i store by isapi protocol works without error but on the admin panel of the terminal ocurs the same the picture of the person dont apears.

for me its not a problem because now we can store 50k faces

Upvotes: 0

Luka T
Luka T

Reputation: 31

In order to send image to device, you are sending multipart form data containing text/json and an image binary data.

var urlface = $"http://{ip}:{port}/ISAPI/Intelligent/FDLib/FaceDataRecord?format=json";

public async Task ISAPIPostMultiPart(string id, string urlface, string imageFilePath,string username, string password)
    {
        Uri requestUri = new Uri(urlface);

        string request = $"{{\"faceLibType\":\"blackFD\",\"FDID\":\"1\",\"FPID\":\"{id}\"}}";

        byte[] imageBytes = System.IO.File.ReadAllBytes(imageFilePath);


        string responseContent = string.Empty;
        string boundary = "---------------" + DateTime.Now.Ticks.ToString("x");
        byte[] beginBoundary = Encoding.ASCII.GetBytes("--" + boundary + "\r\n");
        byte[] endBoundary = Encoding.ASCII.GetBytes("--" + boundary + "--\r\n");
        byte[] contentLine = Encoding.ASCII.GetBytes("\r\n");
        string headerjson = "Content-Disposition: form-data; name=\"FaceDataRecord\";\r\n" +
            "Content-Type: application/json\r\n" +
            "Content-Length: " + request.Length + "\r\n\r\n";
        byte[] headerJsonBytes = Encoding.UTF8.GetBytes(headerjson);

        string headerImage = "\r\n--" + boundary + "\r\n" +
            "Content-Disposition: form-data; name=\"FaceImage\";\r\n" +
             "Content-Type: image/jpeg\r\n" +
             "Content-Length: " + imageBytes.Length + "\r\n\r\n";
        byte[] headerImageBytes = Encoding.UTF8.GetBytes(headerImage);
        byte[] requestBytes = Encoding.UTF8.GetBytes(request);

        MemoryStream memStream = new MemoryStream();
        HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(requestUri);

        CredentialCache creds = new CredentialCache();
        creds.Add(requestUri, "Digest", new NetworkCredential(username, password));
        webRequest.Credentials = creds;
        webRequest.Timeout = 500000;
        webRequest.Method = "POST";
        webRequest.Accept = "text/html, application/xhtml+xml,";
        webRequest.Headers.Add("Accept-Language", "zh-CN");
        webRequest.ContentType = "multipart/form-data; boundary=" + boundary;
        webRequest.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
        webRequest.Headers.Add("Accept-Encoding", "gzip, deflate");
        webRequest.Headers.Add("Cache-Control", "no-cache");

        memStream.Write(beginBoundary, 0, beginBoundary.Length);
        memStream.Write(headerJsonBytes, 0, headerJsonBytes.Length);
        memStream.Write(requestBytes, 0, requestBytes.Length);
        memStream.Write(headerImageBytes, 0, headerImageBytes.Length);
        memStream.Write(imageBytes, 0, imageBytes.Length);
        memStream.Write(contentLine, 0, contentLine.Length);
        memStream.Write(endBoundary, 0, endBoundary.Length);

        webRequest.ContentLength = memStream.Length;
        Stream requestStream = webRequest.GetRequestStream();

        memStream.Position = 0;
        byte[] tempBuffer = new byte[memStream.Length];
        memStream.Read(tempBuffer, 0, tempBuffer.Length);
        memStream.Close();

        requestStream.Write(tempBuffer, 0, tempBuffer.Length);
        requestStream.Close();

        try
        {
            var httpWebResponse = (HttpWebResponse)webRequest.GetResponse();
            using (var httpStreamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.UTF8))
            {
                responseContent = httpStreamReader.ReadToEnd();
            }
            httpWebResponse.Close();
        }
        catch (WebException ex)
        {
           Console.WriteLine(ex.Message);
        }
        webRequest.Abort();         
    }


}

Upvotes: 0

Related Questions