IP camera binding: Need help with Hikvision fisheye camera

Hi everyone,

I am trying to get my Hikvision camera to work with the “New IPCamera Binding”. I have followed just about every advise I found on the forum but I can’t get it to work.
The model is DS-2CD63C5G0-IVS. It is the 12 mp Fisheye camera. It is set to send out a 6mp spherical stream and three virtual PTZ sub streams. The CGI authentication is set to digest/basic. I tried both API and ONVIF.

This is my things configuration:

Thing ipcamera:HIKVISION:CamGarten "Cam Garten" @ "Cameras"
[
    IPADDRESS="192.168.178.101",
    PASSWORD="*password*",
    USERNAME="admin",
    SNAPSHOT_URL_OVERRIDE="http://192.168.178.101/ISAPI/Streaming/channels/101/picture",
    //ONVIF_PORT=8000,
    PORT=80,
    //NVR_CHANNEL=1,
    //POLL_CAMERA_MS=1000,
    //SERVER_PORT=50002,
    IP_WHITELIST="DISABLE",
    //IMAGE_UPDATE_EVENTS=1,
    //UPDATE_IMAGE=false,
    //GIF_PREROLL=0,
    //GIF_POSTROLL=6,
    //FFMPEG_OUTPUT="/tmpfs/CamGarten/",
    FFMPEG_INPUT="rtsp://admin:*password*@192.168.178.101:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1"
]

As you can see, I disabled most features to start with the least settings. Does anything need to be enabled?

This is my attempt to create an items file:

Image CamGartenImage (camera, OU_camera) { channel="ipcamera:HIKVISION:CamGarten:image" }
//String CamGartenLastMotionType "Last Motion Type" (camera, OU_camera) { channel="ipcamera:HIKVISION:CamGarten:lastMotionType" }
//DateTime CamGartenLastMotionTime "Last Update [%1$ta %1$tR]" (camera, OU_camera)
//Switch CamUpdateImage"Get new picture" (camera, OU_camera)  { channel="ipcamera:HIKVISION:CamGarten:updateImageNow" }
//Switch CamEnableMotionAlarm "MotionAlarm on/off" (camera, OU_camera)  { channel="ipcamera:HIKVISION:CamGarten:enableMotionAlarm" }
//Switch CamMotionAlarm "Motion detected" (camera, OU_camera)  { channel="ipcamera:HIKVISION:CamGarten:motionAlarm" }
//Switch CamEnableLineAlarm "LineAlarm on/off" (camera, OU_camera)  { channel="ipcamera:HIKVISION:CamGarten:enableLineCrossingAlarm" }
//Switch CamLineAlarm "Line Alarm detected" (camera, OU_camera)  { channel="ipcamera:HIKVISION:CamGarten:lineCrossingAlarm" }
String CamGartenRTSP "IP Cam Stream" (camera, OU_camera) { channel="ipcamera:HIKVISION:CamGarten:rtspUrl" }
String CamGartenMJPEG "IP Cam Stream" (camera, OU_camera) { channel="ipcamera:HIKVISION:CamGarten:mjpegUrl" }

Again, I disabled most settings just to see if I can see an image or a stream URL in Basic UI. The results are: I can see the still picture and a “-” instead of a URL.

The main stream on the camera can be accessed as 101 and sub stream as 102. The virtual PTZ cams are on 201/202, 301/302 and 401/402. So when I open rtsp://admin:password@192.168.178.101/ISAPI/Streaming/channels/201 in VLC I can see the stream for the first virtual camera.

Can anyone help me to integrate the individual streams into Basic UI (for iOS app) and into HABpanel?

Furthermore, I would like to generate the image or better stream only when it is accessed. Right now my server is continously creating JPEG images and that is just a waste of resources.

Thank you very much for any suggestions. Best, Max

See this for example sitemaps and configs plus more:

I forgot I wrote this howto which covers what you want to do. The latest binding versions can be setup to only fetch snapshots, mjpeg or hls streams on demand and then stop. You need to setup a sever port to turn that ability on and follow this guide.

Thank you and a Happy New Year. I will give it a try. With your previous advise I was able to bring the camera up for some moments but then it would stop streaming to OpenHAB. I will see how far I get this time. :wink: