I purchased some cameras and Blue Iris rather than a DVR system because I thought that will give me more control over the cameras and most importantly let me trigger events on my vera (which I have now configured). The issue is that even with an i7 and plenty of RAM two 1080p cameras (Hikivision) take up about 12% of CPU time. So that’s about 6% per camera. If I have a total of 8 cameras that is about 50% of CPU time of an i7 plus much more memory. That server also has to handle other tasks so 50% CPU usage is a concern. Would a DVR based system serve me better and allow me to trigger an event in vera (from which I can trigger scenes in vera, very important!), send notifications via text message or email, adjust the sensitive area, etc?
Eight, 3MP Hikivisions Take up less then 30% on my AMD FX-8350 with 8GB ram during normal running, If I trip all cameras it might spike up to 50% or 60%. I also use this as a PLEX Media Server and a few other things.
With an i7 I don’t see you running any more then what I do and probley less. I think your 6% per camera doesn’t JIVE when you add more cameras, then i guess it depends on how many and how often they record. Some of my cameras trip only few times a day and some pickup passing traffic all way long. None of mine record without motion.
I love BI and would only go that route.
In BI, set the cameras to use direct to disc. This will cut the utilization down a lot.
Thanks for the reply. I looked at my cpu time when BI was running and when it was not running. The approx. 12% with two cameras was quite consistent with multiple trials. I have to admit that this doesn’t necessarily mean each camera uses 6% as there could be a certain base percentage (which I expect to be very small, though). This number was also supported by another thread that mentioned 18 (I think) used up about 96% of the CPU time (5.3%/camera). Note that the cameras only record when triggered BUT they do buffer about 1s of video and they run at 30fps. I have a 1s buffer because the motion trigger seems to be delayed and I also want to have the time when a person initially enters the surveyed area.
Would you mind sharing if you also do buffering. If you don’t do buffering do you also see that delay with recording/triggering? There seems to be some option to record directly to HD. Are you using that? What are the drawback using that option? What is the framerate the camera run and record at? Based on your comments it seems BI is still the way to go but I want to see how I can improve the system.
Thanks for the recommendation about direct to disc. I read about this before but was somewhat hesitant as there are some limitations (no date/time overlay, etc). Also direct-to-disc sounded like less efficient as video would be constantly recorded to HDD. In any case, I decided to give it a try and finally found where to enable it. To do this, in BI right click on the camera feed/video, select “Camera Properties”, switch to the tab “Record”, click on the button “File format and compression”, and select “Direct-to-disc”. This seems to cut the CPU time by about 4% (but with bigger variations) so about 4% per camera. Assuming this simplification is correct, then 8 cameras should use up about 32% of the CPU time. This becomes much more manageable now. I can also live with the missing date/time overlay as BI has timestamps anyways (it’s just not displayed right inside the video).
@ Maja: Concerning no date/time with “direct to disk” , I had the same issue. What I did was to use both.
Camera time somewhere in a corner , BUT the BI date and time on top of the camera time date. So when you view with BI it shows the date time from BI ( and no clutter from the camera date and time) , when you view back history , it will still show you time and date (just another color).
Hope it helps,
I would cut your frame rate to 6 to 10 frames per second. There is no reason to have 30 frames if used for security.
[quote=“garrettwp, post:3, topic:183879”]In BI, set the cameras to use direct to disc. This will cut the utilization down a lot.
Ahaha yea that explains why I’m at 30%. LOL
Well, it turns out that when I set the recording to “Direct-to-disc” everything that moves is scrambled while the rest looks ok. There is some half transparent ghosting following movements and even the person/object moving does not show up clear at all (basically unrecognizable). I was going to play the files in a different player to see if the issue is with the playback but all files are in bvr format and VLC which can play a lot of stuff only shows a blank screen.
I suspect the issue is on the encoding side rather than decoding. In any case, has anybody else experienced this with “Direct-to-disc” recording?
Direct to disc takes the video directly from the camera and saves it. There is no encoding involved.
What he said ^^^^, that’s why it saves CPU. I do record to SSD before transferring it off to a NAS. I’m not sure if a slow HD drive could cause what your describing.
This was some trial and error but the following settings finally made it work. I am not sure if all of them are required but that’s the configuration I ended up with:
- Set Hikivision to 10fps. This is NOT set in BI but on the camera which can be addressed through a web browser at it’s IP address, e.g. http://192.168.1.150. Then go to “Configure”->“Advanced Configuration”->“Video/Audio”->“Frame Rate” = 10
- On the same URL, “Configure”->“Advanced Configuration”->“Video/Audio”->“I Frame Interval” = 5
- BI->Camera properties->Video->Frame rate: 10fps
- BI->Camera properties->Video->Configure->Receive buffer (MB): 10.0
I believe the most important settings is the second one, i.e. I Frame. For your information, an I Frame is a frame/image that can stand by its own. In other words, you don’t need to know what the frame before and after that I Frame is. It’s basically just an image like from your digital camera. The frames between I Frames are not really full frames/images. Instead, they just store the difference, i.e. what has changed. If the encoding does not store the changes accurately (errors, high compression, etc), then you quickly end up with a lot of error as the errors accumulate. That’s why you want to keep the I Frames low (in the above case every 5th frame is an I Frame). In my case I have an I Frame every 0.5s (10fps with every 5th frame being an I Frame).
I am not sure where the issue really is. It could be that the HD cannot keep up and therefore the program intentionally drops some data. Or the HD did go to sleep (I turned that off now) causing issues. Or setting the video quality to high on the Hikivision setup (I now set it back to medium) increased the bandwidth too much in certain areas (I Frame?) and then needed higher compression in the other frames to keep the 4Mbits (also set on the Hikivision).
Anyways, just some feedback on what worked for me and what to possibly look out if you have issues.
I run my DS-2CD2032-I and DS-2CD2132-I cameras as follows without problems on AMD FX-8350 with 8GB mild overclock using Samsung SSD HD.
Stream Type: Main
Video Type: Video Stream
Bitrate Type: Variable
Video Quality: Highest
Frame Rate: 25 fps
Max. Bitrate: 8192 Kbps
Video Encoding: H264
I Frame Interval: 50
I have 8 3MP cameras Hikvisions and one non HD foscam. Plus I have 3 cameras copied/mirrored for separate motion purposes in BI. So I actually have 12 camera windows in BI all are direct to disc. Network is full wired GIG.
As I sit here now the CPU is running at 23% but it’s night. During the day Its around 30% maybe a bit more depending on how many are triggered and if the server is streaming Videos or other tasks.
I think you said you only have 2 Hikvisions. That shouldn’t come close to saturating the HD write speeds even on a slow one. But I do have mine write to my main HD first (I set aside up to 80 GIG for it) then have it transfer over to the NAS that has (4) 4TB WD Black drives, which I use for PLEX movies, BI cameras and Phone Backups and few other things.
Thanks for that information. Considering your setup, I think my issue must be somewhere else. I am sure it’s not the CPU and as you said I doubt it’s the HDD. At this point I suspect it’s either the max bitrate or an issue with my network/switch. You mentioned you your network is 1Gig. However, the cameras are only 100Mbits. So doesn’t that drag everything down to 100Mbits? How do you have your switches and router connected?