Page 1 of 1
Explain what CPU is doing
Posted: Sun Nov 03, 2019 7:08 pm
by craigctodd
I'd like to understand what the CPU is doing when BI is running and why such a powerful CPU is needed to support a dozen cameras.
The H.264 encoding is happening in the camera. The computer just needs to record those bit streams onto disc. Not much CPU power needed there, just data movement. I understand that to view the streams the CPU must decode, and then re-size for the display windows. If someone does remote access to live streams the cameras I use have a simultaneous low resolution low bit rate stream to use. Again no big CPU loading. In some cases I can understand that in come cases viewing a lot of cameras at once would load the CPU, and re-encoding for remote viewers would load the CPU.
Am I understanding this correctly or is there some other process that requires a powerful CPU??
Re: Explain what CPU is doing
Posted: Mon Nov 04, 2019 3:23 pm
by HeneryH
You are describing the "Limit Decoding Unless Required" setting where BI only decodes as minimally required.
The Limit decoding unless required option exists to further assist with CPU management. When enabled with a compatible camera, the software will decode only the video "key frames" (these are full frames, occurring typically once per second), unless all frames are required. All frames are required for recording without "direct to disc" enabled, or when someone is connected to view the live video via browser or client app. In addition, all frames will be decoded when the camera window is displayed full screen. NOTE that only decoded frames are sent to the motion detector--you will need to determine if an adequate number of frames reaches the motion detector if you decide to use this option.
You can certainly set that.
But, your CPU may spike when viewing video and your motion detection may suffer.
Re: Explain what CPU is doing
Posted: Mon Nov 04, 2019 4:42 pm
by craigctodd
Thank you for that explanation.
It is making more sense to me now.
I'm using Reolink RLC-410 5MP cameras and they do in camera motion detection.
Will BI take advantage of that and thus not spend CPU cycles on motion detection? Will BI allow me to see what portions of the recording have motion and which do not?
Re: Explain what CPU is doing
Posted: Tue Nov 05, 2019 3:46 pm
by HeneryH
The value add from BI is that is provides a central way to manage all of the collected video feeds complete with flags and alerts in one pane of glass. It also allows all kinds of email and text alerts and easily scanning through archives of historic video with ease.
I don't get why anyone would purchase BI then ignore all of its best features by disabling/crippling them.
With a dozen cameras you can easily operate with a cheap $200 computer. Exactly how old is that computer you are using that can't handle 12 cameras?
Re: Explain what CPU is doing
Posted: Tue Nov 05, 2019 3:50 pm
by HeneryH
By the way, are you using the "Direct-to-Disk" option which is a great way to save CPU power with minimal disruption to system features.
Re: Explain what CPU is doing
Posted: Wed Nov 06, 2019 2:19 am
by craigctodd
I have not ever used, and am considering trying, BI for my system.
Currently I have 5 Reolink cameras. I have a high end QNAP NAS that includes QVR surveillance software but it has been very problematic in that cameras disconnect often, and recording starts and stops for seemingly no reason. The Reolink software seems to work well for monitoring. Reolink offers a low cost recording unit which gets very mixed reviews. I'm skeptical I should count on it to be the center of the system.
The only functionality I think I need is:
1. Ability to view any camera at full resolution when on the network, or at reduced resolution when remote with limited bandwidth.
2. Ability for continuous recording of the bit stream produced by in-camera encoding.
3. Ability to view any recording, when on the network or remotely with reduced resolution depending on remote bandwidth.
4. Ability to identify times in the recording where motion is present i.e. a time line with different colors showing when motion occured; using in-camera motion detection, not CPU detected motion.
5. Ability to view multiple cameras simultaneously, but OK to do that at the reduced resolution provided the the in-camera second stream encoder.
It seems I won't need high compute power so I think I'll get the BI software and try it on an old i7 system that I'm no longer using.
Re: Explain what CPU is doing
Posted: Thu Nov 07, 2019 3:35 pm
by HeneryH
craigctodd wrote: ↑Wed Nov 06, 2019 2:19 am
The only functionality I think I need is:
1. Ability to view any camera at full resolution when on the network, or at reduced resolution when remote with limited bandwidth.
This requires decoding the streams to view (obviously) and will increase CPU utilization over the "limit decoding" levels.
2. Ability for continuous recording of the bit stream produced by in-camera encoding.
This can be done with three levels of processing: 1) Limit decoding doesn't even decode unless required, 2) Direct-to-Disk decodes for viewing and motion detection but then throws away the decoded data and just writes the original stream to disk and 3) Full decode the stream for viewing and motion detection and overlays any setup overlay data then re-encodes the stream onto disk.
3. Ability to view any recording, when on the network or remotely with reduced resolution depending on remote bandwidth.
Yes, but obviously needs decoding.
4. Ability to identify times in the recording where motion is present i.e. a time line with different colors showing when motion occured; using in-camera motion detection, not CPU detected motion.
I don't think that BI can do this but maybe. I have BI do my detection.
5. Ability to view multiple cameras simultaneously, but OK to do that at the reduced resolution provided the the in-camera second stream encoder.
You'd need to record both streams to have both high and low streams available.
It seems I won't need high compute power so I think I'll get the BI software and try it on an old i7 system that I'm no longer using.
A user created a tool with lots of features and one of those is anonymous (opt-in) system statistics. You can see what types of systems and pixel throughput they are processing.
https://biupdatehelper.hopto.org/default.html#stats
Also, BI made a mistake in my opinion but the single biggest bang for the buck performance improvement is Direct-to-Disk which is not enabled in the trial version. I think in the trial you must fully decode/re-encode all streams.