Full ALPR Database System for Blue Iris!

I'm trying to get this ALPR Database installed for the first time on Windows. I followed all the instructions, but it doesn't look like the information is getting to the localhost:3000 server.

I noticed the following message in the Blue Iris logs. Is the Web: No stream: 400 indicating the problem?

View attachment 234034

I think you might get more help if you provided some details about your setup.
 
I'm not sure what details are needed. I've got a BI setup with the basic ALPR feature seemingly working fine in BI. Now I'm trying to get this ALPR database going. Nothing is making it into the database.

I have output the JSON to a text file to see what's being sent to the Database server. I'm seeing the following:

[{"api":"objects","found":{"message":"Found car, person, truck","count":3,"predictions":[{"confidence":0.5956259965896606,"label":"car","x_min":665,"y_min":0,"x_max":1003,"y_max":348},{"confidence":0.6272252202033997,"label":"person","x_min":1285,"y_min":3,"x_max":1377,"y_max":164},{"confidence":0.8179850578308105,"label":"truck","x_min":0,"y_min":4,"x_max":686,"y_max":455}],"success":true,"processMs":1405,"inferenceMs":1405,"moduleId":"ObjectDetectionYOLOv5-6.2","moduleName":"Object Detection (YOLOv5 6.2)","code":200,"command":"detect","requestId":"bc13158c-554b-445b-b883-4fa9053ce464","inferenceDevice":"CPU","analysisRoundTripMs":1644,"processedBy":"localhost","timestampUTC":"Tue, 09 Dec 2025 13:21:12 GMT"}},{"api":"license-plate","found":{"message":"Found DayPlate","count":1,"predictions":[{"confidence":0.8896306157112122,"label":"DayPlate","x_min":787,"y_min":215,"x_max":871,"y_max":266}],"success":true,"processMs":719,"inferenceMs":718,"moduleId":"ObjectDetectionYOLOv5-6.2","moduleName":"Object Detection (YOLOv5 6.2)","code":200,"command":"custom","requestId":"d3b616aa-e274-4b55-9b02-46b5e48056f0","inferenceDevice":"CPU","analysisRoundTripMs":1745,"processedBy":"localhost","timestampUTC":"Tue, 09 Dec 2025 13:21:13 GMT"}},{"api":"alpr","found":{"success":true,"processMs":716,"inferenceMs":691,"predictions":[{"confidence":0.9084706008434296,"label":"Plate: CLMTE 172","plate":"CLMTE 172","x_min":787,"y_min":215,"x_max":871,"y_max":266}],"message":"Found Plate: CLMTE 172","moduleId":"ALPR","moduleName":"License Plate Reader","code":200,"command":"alpr","requestId":"d193c538-f08e-4d6f-b93d-8c6a4cc32ad8","inferenceDevice":"CPU","analysisRoundTripMs":2435,"processedBy":"localhost","timestampUTC":"Tue, 09 Dec 2025 13:21:16 GMT"}}]

If I look in the alpr logs on the server, I'm seeing errors such as below.....


at async NextNodeServer.renderPageComponent (/app/node_modules/next/dist/server/base-server.js:2240:24)

at async NextNodeServer.renderToResponseImpl (/app/node_modules/next/dist/server/base-server.js:2278:32) {

length: 487,

severity: 'ERROR',

code: '23502',

detail: 'Failing row contains (null, CLMT 172, null, images/2025/12/09/CLMT 172_1765287100986_b8ff2292.jpg, thumbnails/2025/12/09/CLMT 172_1765287100986_b8ff2292_thumb.jpg, 2025-12-09 08:31:26.215-05, 2025-12-09 08:31:41.022893-05, LPRAI, ui3.htm?rec=212871517781119-0&cam=LPRAI, null, {789,220,870,263}, null, 0.98, null, f).',

hint: undefined,

position: undefined,

internalPosition: undefined,

internalQuery: undefined,

where: undefined,

schema: 'public',

table: 'plate_reads',

column: 'id',

dataType: undefined,

constraint: undefined,

file: 'execMain.c',

line: '1962',

routine: 'ExecConstraints'

}

POST /api/plate-reads

Error processing request: SyntaxError: Unexpected token ',', ...""ai_dump":, "Image":"... is not valid JSON

at JSON.parse (<anonymous>)

at async d (/app/.next/server/app/api/plate-reads/route.js:1:4138)

at async te.do (/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:18:17826)

at async te.handle (/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:18:22492)

at async doRender (/app/node_modules/next/dist/server/base-server.js:1455:42)

POST /api/plate-reads

Error processing request: SyntaxError: Unexpected token ',', ...""ai_dump":, "Image":"... is not valid JSON

at JSON.parse (<anonymous>)

at async d (/app/.next/server/app/api/plate-reads/route.js:1:4138)

at async te.do (/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:18:17826)

at async te.handle (/app/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:18:22492)

at async doRender (/app/node_modules/next/dist/server/base-server.js:1455:42)
 
I'm running BI 5.9.9.73

I'm running everything on the same computer.

My On Alert string is { "ai_dump":&JSON, "Image":"&ALERT_JPEG", "camera":"&CAM", "ALERT_PATH": "&ALERT_PATH", "ALERT_CLIP": "&ALERT_CLIP", "timestamp":"&ALERT_TIME" }
 
I'm running BI 5.9.9.73

I'm running everything on the same computer.

My On Alert string is { "ai_dump":&JSON, "Image":"&ALERT_JPEG", "camera":"&CAM", "ALERT_PATH": "&ALERT_PATH", "ALERT_CLIP": "&ALERT_CLIP", "timestamp":"&ALERT_TIME" }

I'm not sure if it matters, but you seem to have some spaces between the JSON pairs, maybe try removing those and see if it helps? Other than that, your string looks correct to me.

Add alert list set to DB only should cause any issues, it will still make the on alert call.
 
  • Like
Reactions: Spooling
I just noticed that I actually see thumbnails and photos in the ALPR folders, so it looks like data is making it to the database, but nothing shoes up on the dashboard.

I see .jpgs in these folders

storage/thumbnails/2025/12/9
storage/images/2025/12/9
 
I just noticed that I actually see thumbnails and photos in the ALPR folders, so it looks like data is making it to the database, but nothing shoes up on the dashboard.

I see .jpgs in these folders

storage/thumbnails/2025/12/9
storage/images/2025/12/9

Can you try turning off object detection? I had a similar issue, I believe it was caused by either a bug in BI or the database.
I worked around it by turning off objection.
 
BTW: I opened up one of the images I see in the storage folder and it looks fine, with the overlay of the license plate burned into the image. So all that seems to be working fine. The dashboard however shows like there's no activity.
 
It looks like BI is sending the right data to the dashboard, but it can't write the data to the database. Did you install this with the install script? Did it give you any warnings or errors? Maybe the schema is an older version?
 
It looks like BI is sending the right data to the dashboard, but it can't write the data to the database. Did you install this with the install script? Did it give you any warnings or errors? Maybe the schema is an older version?

I followed all the directions for a new install. I didn't notice any errors. Would there be any install logs?

I see this at the start of the schema file.

--
-- PostgreSQL database dump
--

-- Dumped from database version 13.16 (Debian 13.16-1.pgdg120+1)
-- Dumped by pg_dump version 13.16 (Debian 13.16-1.pgdg120+1)
 
The errors would probably have been sent to the console during the install.

You can try to get on the console of your postgres database and see if you can drop the database and recreate it using the schema on github.


dropdb -U postgres postgres
psql -d postgres -U postgres -f schema.sql

There were some database issues a few versions ago with mismatched schemas, but Charlie re-wrote the installation script and I think those are pretty rare these days, so it's a long shot that recreating the DB would help.
 
I'll have to tinker around with things some more I guess..... I only installed this a couple of days ago, so I presume it's all the latest... I honestly don't remember seeing any errors at all during the install. It all seemed to have gone smoothly.
 
I'll have to tinker around with things some more I guess..... I only installed this a couple of days ago, so I presume it's all the latest... I honestly don't remember seeing any errors at all during the install. It all seemed to have gone smoothly.
Quick question. Are you having a single camera do object detection and ALPR? If so, I highly recommend creating a "clone" of the camera and separating the function of each copy. For the master, do object detection. For the clone, only do LPR detection. Only send alerts from the LPR copy of the camera to ALPR DB.
 
Quick question. Are you having a single camera do object detection and ALPR? If so, I highly recommend creating a "clone" of the camera and separating the function of each copy. For the master, do object detection. For the clone, only do LPR detection. Only send alerts from the LPR copy of the camera to ALPR DB.
Hey

The LPR camera that I have setup is solely for capturing plates. It works fine within BlueIris. I just haven't been able to get the database system working at all.

I also just updates BI to 5.9.9.98 in the hopes that it would start working, but there was no change.
 
Last edited: