Calling PTZ presets on Annke NCPT500 from Blue Iris

ChrisPDuck

n3wb
Mar 4, 2022
18
8
UK
UPDATED WITH SOLUTION 22/02/2024 - See post from that date for solution
While I couldn't get Blue Iris' built in control's to work I was able to use them to call batch files I created which call the presets. The functionality is identical, but the way it works is different


_

HI all
Hoping someone has a suggestion(s) of something else I can try.
I recently added an Annke NCPT500 (NightChromaTM NCPT500 - 3K PT Speed Dome PoE Security Camera, 340° Pan & 110° Tilt, 3072*1728 Resolution, f/1.0 Super Aperture, Acme Colour Night Vision, Motion Detection, 2-Way Audio) to my set of cameras. It's model number is I81EM.

I have the camera working fine - both sub and main streams and I can control the PTZ through Blue Iris (well the Pan and Tilt, no zoom on the camera). However I can't call the PTZ presets.

I have tried:


  1. Configuring the camera as a Generic/ONVIF make (Screen Shot 1)
  2. Configuring the camera as each of the Hikvision options - as Annke are rebranded Hikvision cameras (screen shot 2)
  3. Configuring the pan tilt to use ONVIF (OXML) as well as trying all options I could see that mentioned ONVIF, Hikvision or RTSP (Screen shot 3) - this took a while
  4. Setting the PTZ presets direct on the camera (this works, and the presets can then be called from the camera)
  5. Setting the PTZ presents on Blue Iris
Almost all combinations of the above result in working main and sub streams and for most I can pan and tilt the camera. However I can't call presets for any of the combinations so would welcome any suggestions


PC is a Optiplex 5090 with an i7-11500, 32Gb of RAM. Windows and Blue Iris are running an an NVME drive with continuous and alert recordings being stored on 2x 6Tb WD purple drives (files never move, 4 camera's store to each drive). I use CodeProject AI (V2.3.4.0) on an M.2 Google Coral
Blue Iris is the latest 'Highly-stable' - 5.8.4.5 (18/01/2024)
The do not appear to be any firmware updates available for the camera (which is on V5.7.12 build 230214)



Screen shot 1
1706186040106.png

Screen Shot 2
1706186049424.png

Screen shot 3
1706186057879.png
 
Last edited:
HI all
Hoping someone has a suggestion(s) of something else I can try.
I recently added an Annke NCPT500 (NightChromaTM NCPT500 - 3K PT Speed Dome PoE Security Camera, 340° Pan & 110° Tilt, 3072*1728 Resolution, f/1.0 Super Aperture, Acme Colour Night Vision, Motion Detection, 2-Way Audio) to my set of cameras. It's model number is I81EM.

I have the camera working fine - both sub and main streams and I can control the PTZ through Blue Iris (well the Pan and Tilt, no zoom on the camera). However I can't call the PTZ presets.

I have tried:
  1. Configuring the camera as a Generic/ONVIF make (Screen Shot 1)
  2. Configuring the camera as each of the Hikvision options - as Annke are rebranded Hikvision cameras (screen shot 2)
  3. Configuring the pan tilt to use ONVIF (OXML) as well as trying all options I could see that mentioned ONVIF, Hikvision or RTSP (Screen shot 3) - this took a while :lmao:
  4. Setting the PTZ presets direct on the camera (this works, and the presets can then be called from the camera)
  5. Setting the PTZ presents on Blue Iris
Almost all combinations of the above result in working main and sub streams and for most I can pan and tilt the camera. However I can't call presets for any of the combinations so would welcome any suggestions :D


PC is a Optiplex 5090 with an i7-11500, 32Gb of RAM. Windows and Blue Iris are running an an NVME drive with continuous and alert recordings being stored on 2x 6Tb WD purple drives (files never move, 4 camera's store to each drive). I use CodeProject AI (V2.3.4.0) on an M.2 Google Coral
Blue Iris is the latest 'Highly-stable' - 5.8.4.5 (18/01/2024)
The do not appear to be any firmware updates available for the camera (which is on V5.7.12 build 230214)



Screen shot 1
View attachment 184040

Screen Shot 2
View attachment 184043

Screen shot 3
View attachment 184044
I cannot view any of your attached images. Try "insert image" instead of as an attachment.
 
Anyone able to call PTZ presets on any Annke or HikVision camera's?
Did you double-check your conformance to the instructions in BI's built-in "Help" file under "Cameras" => "PTZ/Control" => "Preset positions" ?
 
Got this to work (for anyone else looking).

First you'll need to do a few things:
  • You'll need to do this via CURL, windows 10 and 11 have this build in, but if you're using an older version you'll need to download it
  • You'll need to set the HikVision / Annke Camera's Web Authentication to Digit/Basic (image 1)
  • I would advise setting up a new user (as an operator) with only Remote PTZ control access (image 2)

You should now be able to call PTZ presets by creating a batch file for each PTZ preset you wish to call

To create the batch files:
  1. Create a new folder somewhere on your PC (I'd suggest an SSD, not a mechanical drive which may spin down)
  2. Right click and select new > text document. you can leave the default file name for now (image 3)
  3. Enter the following text curl -X PUT in this command make the below changes:
  4. replace USERNME with the name of the operator you just created
  5. replace PASSWORD with the password of the operator you just created
  6. replace XXX.XXX.XXX.XXX with the LAN IP address of the camera
  7. replace Y with the preset you wish to call
  8. Select file, Save As, then give the file a unique name with the extension .bat - For example PTZ1.bat (image 4)
  9. Repeat these steps for each PTZ position you wish to call
  10. Open Blue Iris
  11. Right click on the camera you wish to call PTZ presets for, select the PTZ/Control tab, click edit/presets (image 5)
  12. Select the preset you wish to call, give it a name and description, select 'On call....', select the '+' then select 'run a program or write to a file' (image 6)
  13. Give the action a description, click the 3 dots next to 'file', select the batch file you just created, and click save
  14. Save all changes, and give it a try :)


    Image 1
    1708609327953.png

Image 2
1708609433629.png

Image 3
1708610046399.png


Image 4
1708610161934.png


Image 5
1708610455488.png


Image 6
1708610641395.png


Image 7
1708610933120.png
 
Last edited:
is there an update to this or confirmation of it working recently? I am working with windows 10 latest updates and blueiris latest version as of 2-3-25 and curl will not push it either with a URL rejected or with modified PW document error and not working
 
A few thoughts...
  1. Is curl installed, and on the Environment Path? Try curl -V in cmd.exe.
  2. Does the batch file work from cmd.exe? Try C:\path\PTZ3.bat in cmd.exe
 
This is what is presented in command line output:

<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>

Trying to figure it out and I am certain the login:password are correct and ironically, if I had a special character in the password, it would throw another error, so I simpletoned it to make it at least get this far:

Oh and the PTZ1.bat I am using is (with pw not included):
curl -X PUT
this is for first preset.
Am I mucking it up?
 
forgot to mention that curl is working just fine and outputted:
curl 8.9.1 (Windows) libcurl/8.9.1 Schannel zlib/1.3 WinIDN
Release-Date: 2024-07-31
Protocols: dict file ftp ftps http https imap imaps ipfs ipns mqtt pop3 pop3s smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets
 
rying to figure it out and I am certain the login:password are correct and ironically, if I had a special character in the password, it would throw another error, so I simpletoned it to make it at least get this far:

Oh and the PTZ1.bat I am using is (with pw not included):
curl -X PUT
Sorry, it's not clear from your reply...
When PTZ1.bat is executed from cmd.exe, does the camera move to preset 1 (if it's currently positioned at another preset #)?
 
To get more info, you can try adding argument --verbose to the curl command.

Try executing it directly from cmd.exe, for example...
curl.exe url --verbose
 
Connected to 10.10.100.223 (10.10.100.223) port 80
* Server auth using Basic with user 'tom'
PUT /ISAPI/PTZCtrl/channels/1/presets/1/goto HTTP/1.1
Host: 10.10.100.223
Authorization: Basic dG9tOnRob21hczAx
User-Agent: curl/8.9.1
Accept: /
< HTTP/1.1 401 Unauthorized
< Date: Thu, 06 Feb 2025 19:56:02 GMT
< Server: webserver
< X-Frame-Options: SAMEORIGIN
< Content-Length: 178
< Content-Type: text/html
< Connection: close
< WWW-Authenticate: Digest qop="auth", realm="IP Camera(FE274)", nonce="336266323a64636435366363623a3cd5ab75ac71e42d07b0db23848ba44f", stale="FALSE"
<
<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
  • we are done reading and this is set to close, stop send
  • shutting down connection #0
 
Does the URL also not work when executed from your browser's address bar?

That is, it responds with
<!DOCTYPE html>
<html><head><title>Document Error: Unauthorized</title></head>
<body><h2>Access Error: 401 -- Unauthorized</h2>
<p>Authentication Error</p>
</body>
</html>
 
edge provides same error, and firefox just sits for a moment processing it appears, then displays the annke icon for the tab, changes the URL to not include the login info, like it logged in, then nothing