OpenALPR Webhook Processor for IP Cameras

I cried "UNCLE" and called it quits after 3 days of messing with it :) I went with your method of having the Processor in Docker and the agent running as a Windows App. It took me awhile to figure out what port it was using but finally figured it out.

Code:
Sep 30, 2021

#963
harleyl7 said:
hmm where do I check that out? All im running is rekor agent.
found it..

had to go to my rekor scout configure and go to Configure > Data Destination > Local Queue > set webservice port and check webservice debug (however, this deregisters your agent with the cloud) so you have to go back in and set it to the cloud by logging in with user and password or register with cloud.

Just for future reference:

Configure your agent/cameras in Rekor Scout application. Make sure you go to Configure > Data Destination > Local Queue > set webservice port and check webservice debug to set your PORT. (see note above)
Make sure Rekor see plates and stores the info... then move on to setting up you Processor.

Setting up your Processor.

The Question marks in the OpenALPR Watchman Agent screen will guide you where to get the information from but below are a couple of notes. Once your Processor/Agent is setup then setup your cameras.

1. Endpoint Url: is just my computer internal IP address with the port of the processor.
2. The only port I forwarded was 3862 (Processor in Docker) so the Webhook could call back into my machine to reach the Processor.

3. Processor/Docker is configured with the following command:
docker run -d --name=[Display Name] --restart unless-stopped --net=bridge -v [Windows Folder to store DB]:/app/config/ -p 3862:80 mlapaglia/openalprwebhookprocessor:[version]
docker run -d --name=v3.17.0-ALPRwebhook --restart unless-stopped --net=bridge -v C:\Docker\v3.17.0.openALPRwebhook:/app/config/ -p 3862:80 mlapaglia/openalprwebhookprocessor:v3.17.0-alpha10

4. The Webhook is set up to point to your machine (external IP/PORT) identified/configured in Docker. ie:
5. Test the Webhook connection in the Rekor Configuration/WebHook page by pressing the "Test WebHook" button. If you get a 200 success then The Rekor Cloud can see your processor.
6. Test your agent's ability to be seen from your computer by entering http://<Internal IP>:8355/ (IP/Port of the agent) you should see:


OpenALPR Local Webservice Diagnostics
...

This is the basics in setting things up on a Windows 10 machine.

Thanks to @mlapaglia for writing this great application. It does a great job in keeping historical data for the license plates that drive thru my neighborhood.
Ah, sorry to hear that, I feel your pain, took me a while to get the setup running initially even with Rekor in Windows. I was interested to see if running Rekor in Docker would give performance gains, or should I say take some strain off the processor. For now I will stick where I am and maybe come back to it another time.

I'd pinned all my hopes on you figuring it out as well :lmao: :lol: - good on you for giving it your best shot, it can be incredibly frustrating I know :thumb:

I threatened to do a full write up on the setup which I hopefully will when time permits. Your notes above will assist many though, good work :clap:
 
On a side note, do you run Rekor with default settings, ie CPU rather than GPU. I find the former spikes my CPU usage when combined with Ai/Deepstack in Blue Iris.
 
Ah, sorry to hear that, I feel your pain, took me a while to get the setup running initially even with Rekor in Windows. I was interested to see if running Rekor in Docker would give performance gains, or should I say take some strain off the processor. For now I will stick where I am and maybe come back to it another time.

I'd pinned all my hopes on you figuring it out as well :lmao: :lol: - good on you for giving it your best shot, it can be incredibly frustrating I know :thumb:

The weird thing is that I did have it running on my other machine. Not all version would work but there were a few version that all always worked such as v3.15.0-alpha3. I would install a later version and it might or might not pull the images. I know there is some configuration in Docker that I must be missing.
 
The weird thing is that I did have it running on my other machine. Not all version would work but there were a few version that all always worked such as v3.15.0-alpha3. I would install a later version and it might or might not pull the images. I know there is some configuration in Docker that I must be missing.
Interesting indeed, sounds very much like it. So annoying when it is almost always something simple, maybe we will figure it out or someone else might crack it in the meantime :thumb:
 
The last time I updated was back in January, I just updated and holy smokes this looks even more awesome now!

Problem is I'm not getting plates pulled in. Do I need to configure each camera? I currently don't have a config in there for cameras

1635861292416.png

This is my watchmen config

1635861330831.png

Does that all look correct?

Also, what does Start Scrape do?
 

Attachments

  • 1635861309023.png
    1635861309023.png
    91.5 KB · Views: 3
Here are my logs, is it skipping because of the camera config or is that something else?

 
I got it working! I configured the cameras, and I forgot that I had a firewall blocking access from between the two VLAN's the cameras and the Docker container are on

I don't have description, is that expected?

1635861987607.png
 
Well, they came back

1635862424839.png
 
Descriptions are only missing for me at night when I only have a plate visible. During the day, if it misses a description it because its a strange vehicle it doesn't know what to do with it.

Descriptions are still pretty hit or miss anyway as far as accuracy goes.
 
Well thats much better! I'd rather not have a description when it can't figure it out anyway

Mine have gotten better, they are correct for the most part on easy vehicles. But when the garbage truck rolls by, all bets are off
 
The Pushover notifications are awesome! Now I don't have to juggle 5 plates in Rekor Scout
 
It now only populates the make/model etc if the confidence is higher than 30%. Glad you like the changes. if you just use latest in docker it will automatically update whenever a new version gets released.
 
Yeah, these changes are awesome. I never updated because I pretty much had it up all the time, so I never wanted to miss a plate and troubleshoot the issue I had LOL

If I were to criticize anything, it would be that the image of the plate is too big IMO, it makes it harder to read, and then makes the viewing window quite large.

1635863324647.png
 
Just thinking out loud here, I wonder if there is any way to put some kind of caching in-between the system with OpenALPR and the docker container, so even if you're OpenALPR machine goes down, you retain the plate pictures
 
I thought about having the processor store the images on its own so the agent could be deleted and recreated without affecting the images. is that what you mean?
 
  • Like
Reactions: biggen
Yeah, these changes are awesome. I never updated because I pretty much had it up all the time, so I never wanted to miss a plate and troubleshoot the issue I had LOL

If I were to criticize anything, it would be that the image of the plate is too big IMO, it makes it harder to read, and then makes the viewing window quite large.

View attachment 106949
I'm not much of a UI/UX person, if we could get someone in here with an eye for design i'd let them rip the front end all apart and make it better.
 
I thought about having the processor store the images on its own so the agent could be deleted and recreated without affecting the images. is that what you mean?

Yeah, that would be pretty cool. Then I could mount a folder into Docker from my NAS and have an unlimited amount of storage pretty much
 
I thought about having the processor store the images on its own so the agent could be deleted and recreated without affecting the images. is that what you mean?
This would be cool. That would allow seemingly indefinite storage of images and wouldn't be reliant on the OpenALPR Rekor Agent db.
 
you can make the rekor agent store lots of images in the settings:

Code:
store_plates_maxsize_gb = 4000
store_plates_maxsize_mb = 4000000

Rekor changed the configuration key in the latest version so i have both
 
  • Like
Reactions: biggen
you can make the rekor agent store lots of images in the settings:

Code:
store_plates_maxsize_gb = 4000
store_plates_maxsize_mb = 4000000

Rekor changed the configuration key in the latest version so i have both
Yeah I have mine set high as well but if the db is lost or down or they change something in the backend unexpectedly and it wipes the db, we lose all the images.
 
  • Like
Reactions: IReallyLikePizza2