IPcam - HIKVISION DS-2CD2455FWD-IW - seems not work with Octoprint

Hi there,

I have some issues to configure an IP camera with Octoprint (HIKVISION DS-2CD2455FWD-IW)

I'm unable to use the MJPEG and Snapshots URLs in Octoprint.

I followed the HIKVISION documentation to setup sub-stream to MJPEG in my camera, then I tried to configure Webcam & Timelapse with the following URLs :

  • Stream URL : http://user:password@CAMERA_IP/ISAPI/streaming/channels/102/httpPreview
  • Snapshot URL : http://user:password@CAMERA_IP/ISAPI/Streaming/channels/1/picture

But when I hit the test buttons, Octoprint is not able to display MJPEG flow and the Snapshot.

I also tried to make a wget in the ssh console of octopi to validate that the URLs are correctly formated and are working / accessible from Octopi :
wget http://user:password@CAMERA_IP/ISAPI/streaming/channels/102/httpPreview
results seems ok :

HTTP request sent, awaiting response... 200 OK
Length: unspecified [multipart/x-mixed-replace]
Saving to: ‘httpPreview’

httpPreview   [     <=>      ]   1.44M   269KB/s

wget http://user:password@CAMERA_IP/ISAPI/Streaming/channels/1/picture
results seems ok as well

HTTP request sent, awaiting response... 200 OK
Length: 128444 (125K) [image/jpeg]
Saving to: ‘picture’

picture   100%   [==========>] 125.43K  --.-KB/s    in 0.04s

Any help/inputs/work arrounds to solve this configuration issue would be appreciated.
Many thanks in advance.

Check the browser error console - modern browsers started blocking basic auth username/password in plain text as part of the URL.

If I look at my config.yaml :

webcam:
  ffmpeg: /usr/bin/ffmpeg
  snapshot: http://xxxx:xxxx@yyy.yyy.yyy.yyy/ISAPI/Streaming/channels/1/picture
  stream: http://xxxx:xxxx@yyy.yyy.yyy.yyy/ISAPI/streaming/channels/102/httpPreview
  streamRatio: '4:3'

parameters are correctly written after save from GUI, then the backend should use the correct URLs, or I missed something :frowning:

It doesn't matter if the settings are saved, it's that browsers block loading the stream. Check the browser console.