ImageBufferCount 20 is too small

Forum for questions and support relating to 1.33.x development only.
Locked
markwny153
Posts: 1
Joined: Mon Mar 18, 2019 1:15 am

ImageBufferCount 20 is too small

Post by markwny153 »

I just started getting this error after installing 1.33.4 on my ODROID-HC2 today. The remainder of the message says that the count needs to be at least 81 or decrease the time between keyframes. I had installed 1.33.3 yesterday, and I don't get that error when I run with that version. Unfortunately, I deleted the source code and that's why I grabbed another sd card and did another install. I was surprised when I saw the version was bumped over night. Anyway, I doubt that the camera is sending keyframes at a different rate than when I run with 1.33.3.

If I try to bump the buffers up to 90, then I get a slew of errors of the type: Shared data on initialised by capture daemon for monitor...
Is there something else I can try?

If you are wondering why I'm not using 1.32, it did not work for my configuration. I found this post: viewtopic.php?f=38&t=28052 which is the same issue I was having.

My configuration is: ODROID-HC2
Linux distribution: Armbian_5.75_Odroidxu4_Ubuntu_bionic_next_4.14.94
Camera: Lorex LNE4422B, h.264, 2688x1520, 20 fps
User avatar
asker
Posts: 1553
Joined: Sun Mar 01, 2015 12:12 pm

Re: ImageBufferCount 20 is too small

Post by asker »

I believe that is because that code handling was recently added to ZM in zm_ffmeg.cpp.
I'm not 100% sure but the reason this was added, I believe was due to the fact the event recordings were missing out on data before a keyframe was received for certain configurations (H264 passthrough, maybe?). Isaac can speak authoritatively on this.
I no longer work on zmNinja, zmeventnotification, pyzm or mlapi. I may respond on occasion based on my available time/interest.

Please read before posting:
How to set up logging properly
How to troubleshoot and report - ES
How to troubleshoot and report - zmNinja
ES docs
zmNinja docs
User avatar
iconnor
Posts: 2904
Joined: Fri Oct 29, 2010 1:43 am
Location: Toronto
Contact:

Re: ImageBufferCount 20 is too small

Post by iconnor »

Yeah in H264 passthrough mode, we need to store every frame since the last keyframe because when we start writing out an event it has to start on a keyframe.

I am working to improve this. I think we can probably use actual encode on the first frame to get a keyframe, and then do passthrough from then on.

but for now, that line is telling us that we have hit the end of our buffer before seeing another keyframe.

If you don't want to waste so much ram, increase the frequency of your keyframes in the camera.
Locked