The default configuration for OpenALPR is geared towards surveillance use-cases (i.e., recording the plate numbers as vehicles pass the cameras).  However, there are many cases that require more real-time results, for example, opening a barrier to a parking garage when a plate is identified.  OpenALPR can be configured to work well for these use-cases.

OpenALPR pushes two types of results:

  • alpr_group
  • alpr_plate

 

Sending Group Previews:

alpr_group results are an aggregation of all video frames where the vehicle/plate was seen.  These results tend to be more accurate because they are based on a weighted confidence score from many reads.

The default behavior is to send a single result after the car has passed the camera.  However, you can also turn on a setting to enable preview results.  These are sent as soon as we begin tracking the vehicles.  To enable, edit the /etc/openalpr/alprd.conf file and add:

plate_group_enable_preview = 1
plate_group_preview_min_reads = 5

The preview results will be distinguishable in the JSON payload by the field ""is_preview: True"

Sending Frame Results:

The alpr_plate data is sent once for every frame where a plate is detected.  For example, if a vehicle drives past the camera and is captured at 30fps over 2 seconds, you may receive 60 alpr_plate results, and a single alpr_group result after the vehicle has left.  

Alpr_plate results are not enabled by default.  To enable, edit the /etc/openalpr/alprd.conf file and add:

upload_single_plates = 1

 

Video Latency:

If you're using RTSP/H264 to connect to the cameras, you can adjust the default video latency.  The default video buffering is 1.0 seconds.  This is a good default for connecting to cameras over a network connection which may have latency or bandwidth effects.  However, for cameras that are connected on a LAN, you can use a much smaller latency value without any noticeable drawbacks.  To configure a smaller video buffer, edit the /etc/openalpr/stream.d/[cameraname].conf file and add:

latency = 200

That will reduce the video buffering time from 1.0 seconds to 0.2 seconds

 

The last thing to keep in mind, if you're using the alprdconfig utility, there is a buffer used in the interface to make the playback smoother.  This is purely a display effect, and does not impact the processing of the plates.  To reduce the video buffering in the config utility, click "Configure -> Display Settings" and reduce the  Display Buffer to a smaller value.