Print custom text (like sensors) on Hikvision camera video

With this shell command and automation it becomes possible to print custom text on the live video of the newer Hikvision cameras (models supporting ISAPI). Note that the shell command is parametrized, so that only one is needed for all the cameras (if multiple are present of similar type). Camera IP address, message text and display enable/disable has to be specified in the service call.

Two examples included, one which updates outdoor temperatures, and one which displays a message on the video when somebody pushes the doorbell button.

kép

Tested and working with DS-2CD2T47G1-L firmware v5.6.5. The text is burnt into the video signal thus it appears on the recording.

3 Likes

any idea if this could work with NVRs?

Awesome !!!
I have to try that. I have this exact same Hikvision model, and also 4 Annke cameras using the same Hikvision firmware and should work exactly the same.

Very nice.

I think it could work with analog channels on DVR/NVRs (eg HD-TVI or HD-CVI cameras).
With IP cameras it’s a bit different as picture is encoded by the camera itself, so even if you run this against the NVR, in theory it should be forwarded to the camera to burn the text on the signal. As the NVR just “grabs” the IP streams from the cameras and saves them to the disk. Doesn’t re-encode it.

If you see the Text Overlay option in OSD settings, I guess it should work if it supports ISAPI:
kép
Note how there can be even 4 text fields supported. To access them, the shell command can be modified around the <id>1</id> xml tag, by replacing 1 with the number of the required field. Haven’t tested this myself though.

Post back here if it works with exact model type etc.
ColorVU is indeed awesome, its unbelievable how great color picture you can get in complete darkness. And this is technology for masses, wonder how strong they could be in military version…

I’m working in military domain, 150m under ground. Believe me, color night vision is nothing new in military context. :wink:

I’ve personnaly found the best usage of my ColorVu camera is in front of my house where it is never totally dark (moon or street lights). This way I always have a nice color image. In totally (or almost totally) dark places, I prefer using standard black/white image, or I have to switch on the included LED.

Yes I also switch on the included LED in the backyards and through the camera it looks like a football stadium during a night match :rofl:
Check out my other example of how to control the LED switch on and off based on sunset/sunrise etc (same github link, parent folder)

Updated the sample with further parameters to access the 4 fields separately from the service call. See the example automation.

To access each text field, use the camera_text_id parameter (integers from 1 to 4). Each field can be positioned on screen, use camera_text_pos_x and camera_text_pos_y for that (coordinates originate from the bottom left corner). To remove text from screen switch it off with camera_text_enabled parameter set to false (important: can be true or false , and has to be lowercase and in quotes!)

It looks like a field can contain maximum 44 characters.
Also there’s a protection in the camera that text fields can’t overlap, so when specifying position coordinates, they might not be respected if fields are too close to each other.

I haven’t found any free time yet to try this, but I keep it in mind ! :slight_smile:

Really helpful - thanks. Tried and working with my NVR - DS-7616NI-I2.

1 Like