IP Camera redo

heffneil

Active Member
Hey all! I have a series of cameras within my home - quite a lot.  I have started to play with IP cameras and the quality is remarkably better.  I have a HikVision ip camera now and I am impressed.  It is under an overhang but outside.  Doesn't have to throw far at night and has good night vision.  I really like it but the problem is that outside the house with the longer views I am using intensifier by speco.  Despite their someone unreliable / durability their night time viewing is incredible.  I recently subbed out an intensifier I had to ship back for warranty work with and IR camera and the lights on a post in the view absolutely killed the quality of the picture rendering it unusable. 
 
So I guess my question is: I want to use a series of inexpensive (less expensive) Hikvision cameras inside the home and wherever possible and use very expensive Speco intensifiers for the outside shots BUT is there a NVR that I can use two brands with?  The one hikvision I have now doesn't even record currently because I have no NVR for it.  My question reiterated is: is there a non brand reliant NVR that I can use with a mixed brand of ip cameras?  I have been advised to keep the brands the same but I just don't think its affordable or works for me.
 
I am looking for suggestions for NVRs.  I like the hikvision app on my iphone for the device.  I currently use envision mobilefocus with my DVR and thats great.  I also use HAI and Haiku.  I got Haiku to work with the IP cameras just enough to consider moving to all IP cameras.
 
Thanks for all your help!
 
Neil
 
 
I use HikVision cameras with the BlueIris NVR software running on a PC. BlueIris supports a LOT of different cameras. www.blueirissoftware.com/technology
 
Where my home is located, we don't have ambient light at all at night. I too found that because of this my night-time views weren't great without some extra light. Since I also have an Elk system and some automated lighting, I have my exterior lights come on shortly after sunset to 25% and they turn off around sunrise. I found that the 25% mark netted me the picture quality I was looking for (more light didn't increase the picture quality) and also kept me from running them at 100% (power usage and possibly annoying neighbors).
 
This software looks interesting thanks for the heads up.  It is my understanding that there is a limit in streams that can be recorded and it is worth considering when laying out a system.  I was looking for more of an appliance than PC only because I don't want to deal with compatibility issues and OS updates and potential vulnerabilities...
 
Neil
 
NVR's / recordings / speed / space all relate to what you are recording pixel size, color or black and white and whether you are recording saving streams 24/7 versus just recording 24/7 and saving triggered events. 
 
In the commercial CCTV world (as Del mentions) an embedded with firmware / POE device is utilized.  They are self contained and there is no touchy feeling stuff with them as they are made to never break.  Mostly they run Linux in firmware and there is no linux rabbit hole stuff that you need to do.
 
There are cheapo like commercial CCTV NVRs (Costco special ==> typically lack memory and CPU processing to do any heavy lifting though).
 
Kind of like a television DVR with multiple tuners / multiple stream captures.  (old Tivo's OS's were tight and efficient)
 
It is the software / firmware that does the work these days.  Old days were analog multiple chip capture cards which did the processing of the old SD style resolutions for CCTV.  Now it's all done from the mothership (video processing using the CPU/Memory et al)
 
The more of the pure meat of capturing you have the faster and better it is.  The more overhead of the OS that you have the more consumption of the CPU/Memory you will need.  Windows 10 takes care of itself first as a desktop operating system first and foremost.   A dedicated Windows server is suggested over a Windows desktop OS today.  The warm and fuzzy of a GUI is eye candy of the rest of the OS plus dedicated client and not really necessary these days as it does add overhead (video see me eye candy stuff).
 
Here is a quickie math for memory posting in a wiki for ZM.  It is always the same for whatever OS you utilize.  Video is video.  The math is similiar but different between using Windows or Linux.  (algorithms utilized and hard memory (RAM) versus buffering to media (disk).
 

Min Memory = 1.2 * ((image-width*image-height*image buffer size*target color space*number of cameras/8/1024/1024 ) Where:

  • image-width and image-height are the width and height of images that your camera is configured for (in my case, 1280x960). This value is in the Source tab for each monitor
  • image buffer size is the # of images ZM will keep in memory (this is used by ZM to make sure it has pre and post images before detecting an alarm - very useful because by the time an alarm is detected, the reason for the alarm may move out of view and a buffer is really useful for this, including for analyzing stats/scores). This value is in the buffers tab for each monitor
  • target color space is the color depth - 8bit, 24bit or 32bit. It's again in the source tab of each monitor
  • The 1.2 at the start is basically adding 20% on top of the calculation to account for image/stream overheads (this is an estimate)
So let's do the math. I have 4 cameras running at 1280x960 with 32bit color space. I have one camera running at 640x480 with 8bit greyscale color space
So, my system would require:

1.2 * ((1280*960*50*32*4/8/1024/1024 ) + (640 *480 *50*8/8 /1024/1024))
Or, around 900MB of memory.
And I have twice that memory. Sufficient!
 
No, not really:
  • This is just the base memory required to capture the streams. Remember ZM is always capturing streams irrespective of whether you are actually recording or not - to make sure its image ring buffer is there with pre images when an alarm kicks in.
  • You also need to account for other processes not related to ZM running in your box
  • You also need to account for other ZM processes - for example, I noticed the audit daemon takes up a good amount of memory when it runs, DB updates also take up memory.
Okay, fine, but I have double the memory (2GB) and ZM only needs, say, 1.5GB even if take your points above in. And its a dedicated machine for ZM
 
Well, as it turns out, ZM uses mapped memory and by default, 50% of your physical memory is what this will grow to. In other words, in my case 1GB. When you reach that limit, ZM breaks down with various errors.
 
Now, you can obviously allocate more space for this. Infact, in my case, I increased it to 70% of physical memory. But before you do, remember it may have an effect on other applications not related to ZM. If you want to increase it to 70%, add the following to /etc/fstab
 

tmpfs /run/shm tmpfs defaults,noexec,nosuid,size=70% 0 0
 
Best to choose whatever you are most comfortable with; whatever it is. 
 
Personally I like to tinker and do my stuff a la carte.  That is me though.
 
I am not making a recommendation; rather just throwing it out on an a la carte menu / plate of goods.
 
It is your money and you want to have the best bang for the buck (it is your money) and you do want a warm and fuzzy knowing and understanding what you use.
 
If you purchase the Pro license, which I believe is $60 (been a while since I've purchased or looked) you are licensed for up to 64 cameras. Honestly, you will likely reach a hardware limitation before you add in 64 cameras.
 
Certainly understand the desire for an appliance - that's what I wanted initially as well. My issue was that the majority of appliances were brand/camera specific and the ones that weren't were in the $1k range or greater. I installed W7 Pro on a custom built PC and haven't had any issues. I upgraded that machine to W10 Pro yesterday. I don't really touch it at all. I run it headless and utilize Remote Desktop any time I do need access. I don't use it for general use or browsing or anything else; it is effectively an appliance.
 
My BI machine is running with a i7 processor and 16GB of RAM. Currently, with 4 cameras recording 24/7 and motion detection running on all cameras (1080p, 30fps) the CPU utilization is at 15-17%, and the Memory Usage is at 1.07G. I just got those numbers remotely via the BI app.
 
With RDP running, I'm seeing between 18-25% CPU usage, and around 20% RAM usage. Those numbers pulled from Windows Resource Monitor.
 
A lot of times the issue starts becoming the throughput and the R/W abilities of the machine and the flavor of HDD with the OS installed, unless you run separately.
 
HI I am a newbie.. Would like to recommend you with HikVision cameras. They are best for the purpose you want and is remarkable as well.
 
pete_c said:
NVR's / recordings / speed / space all relate to what you are recording pixel size, color or black and white and whether you are recording saving streams 24/7 versus just recording 24/7 and saving triggered events. 
 
In the commercial CCTV world (as Del mentions) an embedded with firmware / POE device is utilized.  They are self contained and there is no touchy feeling stuff with them as they are made to never break.  Mostly they run Linux in firmware and there is no linux rabbit hole stuff that you need to do.
 
There are cheapo like commercial CCTV NVRs (Costco special ==> typically lack memory and CPU processing to do any heavy lifting though).
 
Kind of like a television DVR with multiple tuners / multiple stream captures.  (old Tivo's OS's were tight and efficient)
 
It is the software / firmware that does the work these days.  Old days were analog multiple chip capture cards which did the processing of the old SD style resolutions for CCTV.  Now it's all done from the mothership (video processing using the CPU/Memory et al)
 
The more of the pure meat of capturing you have the faster and better it is.  The more overhead of the OS that you have the more consumption of the CPU/Memory you will need.  Windows 10 takes care of itself first as a desktop operating system first and foremost.   A dedicated Windows server is suggested over a Windows desktop OS today.  The warm and fuzzy of a GUI is eye candy of the rest of the OS plus dedicated client and not really necessary these days as it does add overhead (video see me eye candy stuff).
 
Here is a quickie math for memory posting in a wiki for ZM.  It is always the same for whatever OS you utilize.  Video is video.  The math is similiar but different between using Windows or Linux.  (algorithms utilized and hard memory (RAM) versus buffering to media (disk).
 

Min Memory = 1.2 * ((image-width*image-height*image buffer size*target color space*number of cameras/8/1024/1024 ) Where:

  • image-width and image-height are the width and height of images that your camera is configured for (in my case, 1280x960). This value is in the Source tab for each monitor
  • image buffer size is the # of images ZM will keep in memory (this is used by ZM to make sure it has pre and post images before detecting an alarm - very useful because by the time an alarm is detected, the reason for the alarm may move out of view and a buffer is really useful for this, including for analyzing stats/scores). This value is in the buffers tab for each monitor
  • target color space is the color depth - 8bit, 24bit or 32bit. It's again in the source tab of each monitor
  • The 1.2 at the start is basically adding 20% on top of the calculation to account for image/stream overheads (this is an estimate)
So let's do the math. I have 4 cameras running at 1280x960 with 32bit color space. I have one camera running at 640x480 with 8bit greyscale color space
So, my system would require:

1.2 * ((1280*960*50*32*4/8/1024/1024 ) + (640 *480 *50*8/8 /1024/1024))
Or, around 900MB of memory.
And I have twice that memory. Sufficient!
 
No, not really:
  • This is just the base memory required to capture the streams. Remember ZM is always capturing streams irrespective of whether you are actually recording or not - to make sure its image ring buffer is there with pre images when an alarm kicks in.
  • You also need to account for other processes not related to ZM running in your box
  • You also need to account for other ZM processes - for example, I noticed the audit daemon takes up a good amount of memory when it runs, DB updates also take up memory.
Okay, fine, but I have double the memory (2GB) and ZM only needs, say, 1.5GB even if take your points above in. And its a dedicated machine for ZM
 
Well, as it turns out, ZM uses mapped memory and by default, 50% of your physical memory is what this will grow to. In other words, in my case 1GB. When you reach that limit, ZM breaks down with various errors.
 
Now, you can obviously allocate more space for this. Infact, in my case, I increased it to 70% of physical memory. But before you do, remember it may have an effect on other applications not related to ZM. If you want to increase it to 70%, add the following to /etc/fstab
 

tmpfs /run/shm tmpfs defaults,noexec,nosuid,size=70% 0 0
 
Best to choose whatever you are most comfortable with; whatever it is. 
 
Personally I like to tinker and do my stuff a la carte.  That is me though.
 
I am not making a recommendation; rather just throwing it out on an a la carte menu / plate of goods.
 
It is your money and you want to have the best bang for the buck (it is your money) and you do want a warm and fuzzy knowing and understanding what you use.
 
What is ZM?  What do you use?  I have an old server running here with an SSD as the OS drive and then a mirror or stripe set for recordings (it was my old SageTV server) I might try using it as my NVR then?
 
JosephSadler said:
HI I am a newbie.. Would like to recommend you with HikVision cameras. They are best for the purpose you want and is remarkable as well.
Sounds like a shill for Hikvision? :)
 
I seem to like them but their longer distance no light situation isn't good enough for my outside cameras unfortunately.
 
Thanks!
 
Neil
 
What is ZM?  What do you use?  I have an old server running here with an SSD as the OS drive and then a mirror or stripe set for recordings (it was my old SageTV server) I might try using it as my NVR then?
 
ZM is ZoneMinder (http://zoneminder.com).  Every time I type ZM here the forum puts a link in for it.
 
ZM is written for Linux.  It will work with any type of camera today.  To use it you should be familiar with Linux.  A new client called zmNinja is out there for ZM.  It works fine with Windows, iOS and Android.
 
You can run it fine on a old PC.  It doesn't cost anything but time.
 
I also have but not utilized a Grandstream NVR which is using the Grandstream NVR software in firmware.  New now is the use of any ONVIF cameras with Grandstream stuff.
 
You can find a step by step build here: (I am running it in Ubuntu 14.10 today). 
 
Ubuntu Server 14.04 64-bit with ZoneMinder (http://zoneminder.com) 1.28.0 the easy way
 
Back
Top