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:
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
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.