Dynamic text overlays (using Axis 216FD cameras)

Forum for questions and support relating to the 1.24.x releases only.
Locked
JWeb
Posts: 3
Joined: Thu Mar 03, 2011 9:48 pm

Dynamic text overlays (using Axis 216FD cameras)

Post by JWeb »

Hi... I've been developing a quality control / digital video recorder (DVR) application with 5 Axis 216FD cameras for one of our customers. The 5 cameras are connected to a common subnet with an Ubuntu Linux (10.04LTS) server running the Zoneminder application. I've been able to get everything working properly, including using the onboard motion detection on the cameras... but one function eludes me: the customer would like to be able to change the "lot number" that is displayed on the recorded video. I can certainly use overlay text functions (e.g. "&textstring=LOT:12345" on the stream request URL to the cameras) and can add that when setting up the source, but I'm not sure how to make that dynamic as this would need to be set in the "Remote Host Path" field of the Monitor - Source tab:

/axis-cgi/mjpg/video.cgi?resolution=640x480&textstring=LOT:12345

How can I make this dynamic? Could I do a "redirect" by pointing the monitor source to a .php webpage on the server that pulls the data off of the webserver? I could build an interface for the customer to input the new lot number and have the data on the webserver updated as needed. But, since the "Remote Host Name" and "Remote Host Path" are on separate lines, I'm not sure how to make that happen.

I was also thinking there might be a way to upload an image overlay that I generated dynamically and push to the camera. But, I can't see a way to send the overlay to the camera other than using the Web GUI for the camera.

I know the Axis cameras are popular with Zoneminder so I'm hoping someone has some ideas. Any suggestions like this would be greatly appreciated!

Thanks in advance,
Jeff Webster
JWeb
Posts: 3
Joined: Thu Mar 03, 2011 9:48 pm

Post by JWeb »

I've found some relevant information by searching. I was able to make some progress using zmtrigger.pl. By adding the %Q option to the timestamp field in the source, I can get text to display on the image by sending the TCP message over 6802:

"1|show||||test-message-text"

This works well, EXCEPT, I already use zmtrigger.pl for motion detection. The configuration on the Axis setup page for Events sends:

"1|on|5|Alarm" to activate the alarm state
"1|cancel" to cancel the alarm state

Unfortunately, this also clears the original TCP message that set "test-message-text".

I've tried modifying the event message to

"1|on|5|Alarm||%Q" (thinking that might substitute for the original message
"1|on|5|Alarm||" (thinking I needed to explicitly put the pipe symbols to prevent clearing message

But, neither work.

Is there a work-around?
Locked