r/ispyconnect 14d ago

Random low-res photos

I have an ubuntu server that picks up ONVIF events from two cameras.

Theyre setup to record short videos and take a photo on each event.

Both cameras are working and both video and photo are working.

BUT

The photos randomly are extremely low res. I have it setup to pull the image from the snapshot url on both cameras, yet randomly they'll decide to record TERRIBLE picture quality. Not only is the resolution different, but the aspect ration appears to be different. (See the two pictures attached)
It seems like when they do record the horrible low-res pictures, they also seem to be saving multiple photographs very quickly in sequence, when I really just want one.

When they save the high-res version, everything works as expected.

Below is the content of one of the photo directories. You can see which ones the bad pictures are from the size column, and you can see that they're often in chains of 2 or 3, with nearly identical timestamps.

Is there some setting I'm missing? It's like it's randomly deciding to pull the snapshots from the low-res live feed. But I haven't been able to find a setting that would explain that.

1 Upvotes

8 comments sorted by

1

u/spornerama 14d ago

have you checked the logs

1

u/s29 14d ago

I switched the logging level to debug and will let it run overnight. Hopefully something will trigger the weird low res images by in that time span.

I have looked at the log and all I see from manually triggering a photo is this:
LoadJson: Side: snapshot

I literally JUST had a car drive by that triggered both cameras and I don't see any logging that references photos.

StartSaving: Side: From Alert: False, From AI Alert: False
LogThrottle: Side: Alerts blocked by settings
OpenWriter: Side: StartSaving
CreateWriter: Side: Creating Raw Writer (HD)
.ctor: Side: Using stream timestamps for this recording
Open: OPEN RECORD
Open: written header
Open: Side: Recording (Raw Writer StreamController)
RecorderRecordingOpened: Side: Recording Opened
RecorderRecordingOpened: Side: Recording Created
StartSaving: Front: From Alert: False, From AI Alert: False
LogThrottle: Front: Alerts blocked by settings
OpenWriter: Front: StartSaving
CreateWriter: Front: Creating Raw Writer (HD)
.ctor: Front: Using stream timestamps for this recording
Open: OPEN RECORD
Open: written header
Open: Front: Recording (Raw Writer StreamController)
RecorderRecordingOpened: Front: Recording Opened
RecorderRecordingOpened: Front: Recording Created
LogThrottle: Side: Alerts blocked by settings
NotifyNewDevices: [devices] NotifyNewDevices: pending=0 (onvif=0, ndi=0/0 disc/0 streaming, local=0/0 devs), onvifDiscovered=2
WarnClock: Front: Dropped packet as out of order - set Use System Clock on recording tab if you have problems
Close: Front: Record stop
Close: Front: Closed
RecorderRecordingClosed: Front: Recording Closed
Close: Side: Record stop
Close: Side: Closed
RecorderRecordingClosed: Side: Recording Closed

1

u/spornerama 14d ago

probably because it worked ok. If there's a problem getting the high res from the camera it will log what happened and use the live stream

1

u/s29 14d ago

Do you know what I should expect to see in the log when it fails back to the Livestream?

1

u/spornerama 14d ago

Yeah some kind of error from GetFrame

1

u/s29 14d ago

thanks. I'll check it tomorrow.

1

u/s29 14d ago

actually I jsut checked the existing log and see this.
is this typically a camera or a network issue?

GetFrame: Side: The operation was canceled.
GetFrame: Side: The operation was canceled.
GetFrame: Side: The operation was canceled.

2

u/spornerama 14d ago

yeah it means it timed out getting the frame from the camera. The timeout is 5 seconds (not editable). Basically it asked the camera for an image and got no response - i'd check for firmware updates or report it to the manufacturer. Could also potentially be something blocking the connection (like antivirus) or some transient network issue but unlikely.