HTTP Snapshots Download Times Slow [Advanced Question]

That's what's needed for the cgi protocol. For RPC, you can view the http requests in Chrome. Some people have started work reverse engineering the RPC protocol:


I bit over my head at the moment. I noticed that once you click on the camera in the webUI, NVR will keep this port open (18+ hours for now) but only for that IP address. My goal is to figure out a way to foul it via curl/wget one day.
 
Don't believe I have an auth problem, my issue with getting this to work is receiving a 404 error. If I browse to or I get a 404 Not Found error. If I browse to it times out (assuming 'camera port' means TCP port in the settings).

Similarly
Bash:
curl --insecure --digest -u user:password http://192.168.1.100:37777/cgi-bin/snapshot.cgi
cur: (52) Empty reply from server
The only way I seem to be able to download a snapshot is to browse to playback, change file type to jpg with data source of sd card, and click download on one of the images. Which the url shows up as
Any advice on what I can troubleshoot?

IPC-HFW4239T-ASE-NI
V2.800.0000016.0.R
 
Try
Code:
http://user:password@Camera-IP/cgi-bin/snapshot.cgi?channel=1
; works great on my Amcrest (Dahua re-brand) IP2M-841 's.
 
This works on my Amcrest cameras:

Code:
sudo curl -o out.jpg --digest --user anonymous:password1 -O "http://192.168.1.7/cgi-bin/snapshot.cgi"
 
Code:
sudo curl -o out.jpg --digest --user anonymous:password1 -O "http://192.168.1.7/cgi-bin/snapshot.cgi"
Error opening out.jpg in image viewer, opening in text editor gives me
Code:
<html><body><h1>404 Not Found</h1></body></html>

Code:
http://user:password@Camera-IP/cgi-bin/snapshot.cgi?channel=1
in a browser gives: 404 Not Found

Are there certain settings I'm missing for generating the snapshot image?
 
Have you logged into cam's webGUI to insure that the HTTP port is the default 80 ? If it's something other than 80 then that port # must be appended with a colon after the cam's IP.
 
Have you logged into cam's webGUI to insure that the HTTP port is the default 80 ? If it's something other than 80 then that port # must be appended with a colon after the cam's IP.

I did try other ports, but when doing so got the error 192.168.1.100 refused to connect

Under Setting -> Port
Max Connection 10
TCP Port 37777
UDP Port 37778
HTTP Port 80
RTSP Port 554
HTTPS Port 443

UPnP is turned off
P2P is off
ONVIF authentication is off
RTMP is off

Under Safety there are no system services enabled and Private Protocol is set to Security Mode.

Same situation across both a IPC-HFW4239T-ASE and IPC-B5442E-ZE makes me think I'm doing something wrong. Might have to just set up a NAS share and see if I can get the camera to record to there as a workaround
 
Pinging this thread because I'm seeing a similar behavior to the OP.

While my total transfer time is reliability under a second on a recently purchased IPC-T54IR-ZE-S3 (with 2023-11-27 firmware applied), this is still slower than a 5-year old Hikvision camera that is on the same local network. I agree with @bp2008 that "Jpeg frames are super easy to transfer, so I am surprised they don't just have it write into memory and respond instantly with the latest image available"

With this software, the Camera Tabs are Encode-OverLay-ROI ... there is no Snapshot option there ... which appears to have been moved to a new Picture Tab ... although it sounds like that doesn't do much nor did I see a difference.

Also, the image quality from grabbing an image from snapshot.cgi is MUCH less than if you do a do a Snapshot from the Live view using the camera icon. Any ideas on how to improve the quality? I've tried adding some misc. parameters to /cgi-bin/snapshot.cgi, but doesn't seem to make any difference.
 
I have 15 cameras and had been polling them for AI because my Jetson nano couldn’t keep up with rtsp streams. But eventually they would stop responding to http requests and I’d have to reboot the camera.
What I found does work is having each camera setup to ftp on motion. The images are high quality. My better cameras can ftp many more pictures in a short period of time than my cheap (Lorex) cameras can. I then just poll a directory for ftp files and make sure the write time is 100ms ago to avoid mid transfer images.