my new BI system based on Intel NUC5i7RYH

amb5l

n3wb
Oct 13, 2015
5
0
New BI user and forum member here. I worked with CCTV 15-20 years ago when everything was based on composite video. I’m back into it now and learning about IP cameras, NVRs and so forth because I want to build a reasonably powerful system with 8-9 HD (2-3Mpixel) cameras and plenty of storage.
I created this thread to relate my experiences to fellow beginners and to ask a few questions as I go.

After some research – and noticing the way dedicated NVRs seem to come and go – I picked BI; it seems like a powerful and flexible product with a large and loyal following, plus I’m an EE so happy to learn how to drive this quite complex package.

On the hardware front, the BI site suggested an i7 powered PC, so I took a bit of a leap of faith and bought a new Intel NUC5i7RYH (NUC based on a 3.1GHz 2 physical core Broadwell-U CPU with integrated Iris 6100 graphics), and installed 16GB memory plus an SSD for the OS (Win 10 Home x64). To this I’ve added a Synology DS415+ NAS with 4x WD 6TB Purple HDDs (a very nice piece of kit). My network switch is a Netgear JGS524PE which has 12 PoE ports and – so far – has been great. Camera-wise I have a Lilin LR7022 (bullet, 2MP/15fps, h264 @ 8Mbit/s) and a Hikvision DS-2CD2632F-IS (bullet, 3MP/15fps, h264 @ 8Mbit/s).

I’ve been experimenting with all this for a couple of days. I hit performance problems early on: CPU usage was around 35% viewing the 2 cameras, without recording. For comparison I tried a couple of instances of VLC media player viewing the h264 streams from each camera. Here I saw 20%. Turning on DXVA 2.0 reduced this to 3%. Looking at some other threads here I see that GPU offload (hardware assist for encode/decode) is in the works for BI so no doubt this aspect will improve.

When I turned on record, the CPU was pretty much saturated. A bit more reading here and I realised that BI is decoding, overlaying with time/date, then re-encoding; direct-to-disk recording for the cameras almost eliminated the recording overhead, I was back to about 40%. Minimising the UI dropped it to under 30%, presumably this is a bit like running-as-service because there is some expense to rendering the live camera video UI. There may be deeper configuration options that further reduce CPU utilisation; can anyone suggest anything to try?

I’m adding 2 more cameras shortly, and hoping the system will scale reasonably; that it will be able to keep up with 8-9 in the end. I will post results. As an aside, these will be Hikvision domes – very impressed with value/features/quality of the Hikvision bullet camera I already have.

One thing I have struggled with is motion detection. Right now I have continuous recording going, and I have enough storage to stay with this even with 9 cameras, but it would be good to catch events to simplify going through footage. Is there any beginners’ guidance on tuning this aspect?

Another random question: video from my 2 cameras is being stored as a series of clips, but the lengths of these are not consistent. Most are 30 minutes - none exceed 3.8GB. Some are much shorter (480MB) - not sure why? (I've turned off motion detect for both cams.)

Anyway, I'm optimistic that I'm going in the right direction - and BI has already shown me that a mysterious damp area on one of my internal walls is going to be easy to resolve: I just need to strangle one of my cats!
 
@amb5l Welcome to the forum...You are likely to run into cpu bottleneck issues because the i7 in your system is only an i7 in name only. It benchmarks closer to an i3 haswell system and is only dual core. The developer is working on hardware acceleration that is optimized for nvidia but should show improvement for integrated graphics as well (only time will tell - should be out soon). Use the blue iris dvr container (.bvr) and try lowering the live view frame rate (blue iris options>cameras)
If you want to use motion detection, make sure to disable object detect reject, you will miss motion if you leave it on. Then you need to play with the settings. Set the make time to 0.7-1 second and the break time to 20+ seconds. In the record tab, set the pretrigger frames to 2-3x your frame rate.
You clips are likely broken down based on your combine and cut settings
 
Thanks very much for the input. I hope I don't regret choosing the NUC! I will try all your suggestions and report back.

In the meantime, I've hit (I think) a bug... Last night I had a short power cut. The NUC and NAS are powered from a UPS, but the network switch is not. Reason being that I haven't figured out how to propagate a power outage signal from the UPS to both NUC and NAS, so I wanted to be sure disk writes would not be happening if the UPS battery died. Eventually, the UPS will cover the switch as well, I will ensure an orderly power down somehow.

So, I lost the cameras throughout the outage (of course). They came back online when power was restored and I saw that recording resumed. This morning, I looked through the overnight clips and found that - for one of the cameras (the Lilin) I get a black screen when viewing the clips. The other camera is fine. Weirdly, the live view from the Lilin was fine throughout, and the thumbnails shown in the clip library were also fine. I tried stopping and restarting recording - no good. Quitting and restarting BI did the trick. It's as if a wheel came off in the recording part of the software. I'll report this to support.
 
Since your in the learning mode on BI, I wouldn't focus on making the system perfect from the get go. UPS stuff, having the best motion detection and saving disk space are all a distraction, you be able to perfect that later to your liking. Just run it and have it record all the time, observe your recordings. Try to read help before asking questions (but still ask) , eventually you'll get good with it.
 
I do take your point, and appreciate your advice.

My early priority is to establish stable operation of the core system capability. The outage, and the fact that it broke the recording, is therefore a problem - one which a UPS would have hidden from me in this case. I'll report back on progress with this issue (I've emailed BI support).

Continuous recording without event detection is not as difficult to use as I thought. Example: a pile of poop appeared on my lawn at some point yesterday. I did a binary search moving either side of the moment it appeared and eventually zeroed in on a fox doing its business. Our other cat just got a reprieve!
 
Also maybe turn frame rate down to 2/sec and data rate below 1M/s so you can populate all cameras, then when comfortable with system, increase. You then find out if PC is adequate or not.
 
A couple of other CPU hogs:

1) Turn FPS on cameras from 30 to 15. Unless your video contains fast-moving traffic, you'll likely not notice the difference.
2) Reduce the bit rate at the camera - mine are set to 2048kbps which I find more than adequate.
3) Reduce resolution on cameras to lowest acceptable value. My Hikvisions are all capable of 3MP. I have the dropped to 1280x720 as difference in clarity was not worth the impact on CPU.
4) Reduce the pre-buffer frame rate to ZERO unless absolutely necessary.
5) Set the 'make' time to 0 seconds

I have 30 cameras, with all of them running at 1280x720/15fps/2mbps. Despite not using direct-to-disk (I happen to like the overlays), I'm running anywhere between 55 and 80% (i7-4790).

If I crank up any of the parameters described above on all of the cameras, my CPU will saturate (100%). Even now, if it's a rainy night, or very windy, I will be in the 80-95% range on CPU. I'm really hopeful that the developer's GPU implementation will help shed come of those cycles. If it does, then I may start to add more cameras and/or up the values above.
 

Attachments

  • 2015-10-17_15-33-22.jpg
    2015-10-17_15-33-22.jpg
    497 KB · Views: 24
Thanks @erkme73, good advice - and a very impressive system you have there! Do you use CBR or VBR?

Still waiting for my next 2 cameras which will take me to 4 in total and be the point at which I can really get stuck into experimenting. They're due in a couple of days.
 
Last edited by a moderator:
All the cameras are set to VBR.

Careful with the new cameras. This time next year, you'll have 10 (or more). It's addictive!
 
Hey - I'm running the same thing - the NUC5i7RYH and I've got 14 cameras (or more) and they're mostly HiKivision with some Foscam and Dahua - 16GB RAM, 256GB m2 and a 500GB SSD and I'm running about 22%. All of this is connected to the back of a dedicated 22" 1920x1080 monitor via one HDMI connection and then I have the TV connected to the other HDMI (mini DP to HDMI) and I run the web server too.

I'm running at 6 frames per second on the cameras at 1920x1080 and doing motion detection on about 10 of them.

Also - set your preview to 5 frames per second. This doesn't affect your recording but the preview on the screen. Also direct-to-disc for all cameras and later I can post some screen shots of my config in BI. If you are running 1920x1080 at 30fps and recording that and motion detection and a lot of defaults you'll peg anything out. I went from 100% all of the time when I running in a VM on an i5 MacMini 2012 with 16GB to 22% now but I did have to make lots of tweaks based on info I saw here. The direct-to-disc is a big one because otherwise you are re-encoding everything - etc. Read through the postings and get some ideas.

I've probably made some mistakes but shouldn't be pegging that box out with just a couple of cameras. Like another guy said before you know you've have many cameras. I have four that I haven't even installed yet. I've also got a couple of them (the Foscam 9828 PTZ outdoor) running sound triggering on top of motion. You now have the option of allowing some cameras (Foscam comes to mind) to actually trigger BI instead of BI doing motion detection too.



Thanks,

Tim
 
Actually I remoted in via Chrome Remote Desktop to home and then VNC'd over to the server. The CPU is at 55% but that is the VNC - not the normal "idling" - it idles at about 22%. I have attached some screen shots of my config and anyone else can jump in and make suggestions. Also I remembered to set JPEG quality to 50 and other things I have highlighted. I have not made any changes since the latest 4.2.x and the new motion detection algorithm. I have made some manual changes (i.e. shadows) but may just delete and recreate the cameras so I can get the right defaults. You will probably need to go into the camera itself and change the FPS and then let BI figure it out - it'll adjust. Also for recording do two seconds of frames for pre-record. If you have 6 fps - set it for 12. I read that here.

Look at the screenshots and if you have other questions let me know - anyone else is welcome to chime in. I need to document it a little better but I circled the changes or things to look at.

Thanks,

Tim

attachment.php
attachment.php
attachment.php
attachment.php
attachment.php
attachment.php


I didn't know I could only do 6 - I'll post a reply with the other 6 screenshots.
 

Attachments

  • 01-2015-10-19_15-59-01.jpg
    01-2015-10-19_15-59-01.jpg
    326.5 KB · Views: 53
  • 02-2015-10-19_15-59-38.jpg
    02-2015-10-19_15-59-38.jpg
    88.2 KB · Views: 54
  • 03-2015-10-19_15-59-50.jpg
    03-2015-10-19_15-59-50.jpg
    88.3 KB · Views: 54
  • 04-2015-10-19_16-00-06.jpg
    04-2015-10-19_16-00-06.jpg
    98.7 KB · Views: 53
  • 05-2015-10-19_16-00-40.jpg
    05-2015-10-19_16-00-40.jpg
    88 KB · Views: 54
  • 06-2015-10-19_16-00-52.jpg
    06-2015-10-19_16-00-52.jpg
    73.7 KB · Views: 53
  • 07-2015-10-19_16-01-02.jpg
    07-2015-10-19_16-01-02.jpg
    87.4 KB · Views: 3
Here's the other 6 screenshots. Sorry I could have combined them - etc but I am at work and just doing this quickly before I forget..
attachment.php
attachment.php
attachment.php
attachment.php
attachment.php
attachment.php
 

Attachments

  • 07-2015-10-19_16-01-02.jpg
    07-2015-10-19_16-01-02.jpg
    87.4 KB · Views: 53
  • 08-2015-10-19_16-01-14.jpg
    08-2015-10-19_16-01-14.jpg
    73.9 KB · Views: 53
  • 09-2015-10-19_16-01-27.jpg
    09-2015-10-19_16-01-27.jpg
    86.2 KB · Views: 54
  • 10-2015-10-19_16-01-35.jpg
    10-2015-10-19_16-01-35.jpg
    97.7 KB · Views: 54
  • 11-2015-10-19_16-01-50.jpg
    11-2015-10-19_16-01-50.jpg
    68.9 KB · Views: 54
  • 12-2015-10-19_16-02-01.jpg
    12-2015-10-19_16-02-01.jpg
    72.2 KB · Views: 53
Something else I just remembered... Lots of recording, at any frame rate, any resolution, any bit rate will also saturate your CPU. If you have a dozen cameras all recording at the same time, you'll peg. My dad's BI setup (i7-4790 like mine) has only 16 cameras recording on motion, and normally no more than 3 or 4 are recording at any given moment. His cameras are all Hik, and set to the same parms I listed for my system above. Normally, he's around 30-45%. Today, he was pegged at 100%. He asked me to log into see if I could figure it out, and here's what I saw:

attachment.php


Literally EVER SINGLE CAMERA was recording. Today is a particularly windy day, and between tree branches, their shadows, clothes on the clothesline, and various other wind-driven movement, every camera was triggered.

The fix was to create a new profile, wherein every camera has the sensitivity dialed WAYYY down. That profile, labeled "Windy Days" can be activated by clicking on the profile number. His global temporary profile is set to the default 480 min (7 hours) - so after that time elapses, it'll go back to the default profile with increased sensitivity.

Just another item to consider that can kill even the most powerful CPU. Also, as @tf9623 states, limiting the live preview will also save clock cycles. Our systems are headless (no monitor) so we keep the console off, and do most observing through the webserver on browsers. Keeping the console open adds an easy 10-15% CPU load to our pcs.
 

Attachments

  • 2015-10-19_17-18-51.jpg
    2015-10-19_17-18-51.jpg
    314 KB · Views: 55
Oh yes - all cameras recording, encoding, high frame rates - but we all had to start somewhere and learn so that's what great about the forum. I had no clue about the simple things like limiting the preview rate to 5 fps and never knew about direct-to-disc when I first started. I was able to get my system to run OK in the VM but added more cameras and switched over to a dedicated box. It is addictive. I even have one of the old s*itty cameras in the attic. It came in handy when we had a cat missing - fired up the attic cam and looked and there he was.
 
Oh yes - all cameras recording, encoding, high frame rates - but we all had to start somewhere and learn so that's what great about the forum. I had no clue about the simple things like limiting the preview rate to 5 fps and never knew about direct-to-disc when I first started. I was able to get my system to run OK in the VM but added more cameras and switched over to a dedicated box. It is addictive. I even have one of the old s*itty cameras in the attic. It came in handy when we had a cat missing - fired up the attic cam and looked and there he was.

Thanks for posts, I'm very very surprised your at only 22%, what version of BI? IF you have a party how high CPU goes too?