Get camera name in LPR results


#1

Hello,

I was wondering is there any way to get the camera_name property in alpr_group
In our solution the camera_name is leading property to distinguish which camera had sent the LPR result.

The architecture of the system is:

3 x HikVision DS-2CD4626FWD-IZ/P
NetCore API listener for results from OpenAlpr Agent - this API reformats the data in specific format heeded for the console appliaction.
.Net console application to control specific ramps and vehicle flow.

The last application needs the camera name, in my case “ENTER” that is the only way I can distinguish the flow of vehicles.

I get the camera name in the heartbeat json but I only get camera_id in alpr_group / alpr_result json.
I tried to add the property on top level or as in heartbeat json but it does not work.

Thank you in advance.
Martin.


#2

Another thing you can do is update the “user_data” field. For example, you could fill this in with a JSON string such as:

[{camera_id: 5, camera_name: ‘mycamera’}, {camera_id: 1234, camera_name: ‘othercamera’}]

The user_data string is sent with every group result.


#3

@matt

Thank you for your suggestion.

There is no way that I can know the camera_id before I receive the first results.

The requirement is that the system will be “self-seeding” as per:

  • We register the cameras in the OpenAlpr Agent (at this point we do not know which camera has specific camera_id)

  • The system (our) performs startup and starts receiving the data from the LPR results. (at this point we need the CameraName).

I tried to get user_data but as I said before the ID’s are not being reported upon adding the camera via the OpenAlpr Agent, hence I do not know the correlation with the names.


#4

I understand. What operating system / platform are you using (e.g., 64-bit Ubuntu 18.04, Jetson TX-2, Windows x86, etc)?

Another option is turning off uploads from our agent, and uploading the data in your own script/service. This would essentially drain the local beanstalkd queue, possibly modify it, and then upload it to your endpoint.


#5

At the moment the OS is Windows 10, but in production it will be Windows Server 2012 r2.

Regarding the problem, I made a solution where for us is acceptable to wait for the first heartbeat, a 1-60 sec. wait .

I had combined both JSON results/heartbeat in one entry class. (since the heartbeat comes on the same endpoint).

After the initial startup of the listener, I am waiting for the first heartbeat and get the video streams array then i keep them in memory and pair up with the LPR result camera_id.

It was the most efficient (in time and resources to get it to work).

Currently we are testing this solution/integration.

I hope everything will be well.