Page 1 of 2

Scalability question

Posted: Sun May 01, 2005 9:38 pm
by mkernan
I'm interested in testing out zoneminder as a platform for dorm surveillance at the university I work for. Has anyone out there successfully implemented zoneminder with a large number of network cameras (20 - 40)? How has the performance been and what hardware are you running it on? Thanks.

Matt Kernan

Posted: Thu Nov 10, 2005 8:22 am
by henke
Hi,

I am thinking about a similar setup. I have understood the CPU will have a bad time keeping up with the load if the cameras are pure IP-Cameras connected eg. over a WLAN and not trough a capture card. My question is: Are there cards on the market that would reduce the load on the CPU and make this setup feasible?


I understood this could be done with a capture card with 16 inputs, but then you would have to install cables in every place which I am trying to avoid.


Thanks for your answers

-h

Posted: Thu Nov 10, 2005 10:28 am
by zoneminder
I think you should able to manage 10 cameras on a 3GHz system without too many problems, 20 cameras might take a bit more grunt. A lot of it will depend on what frame rates you are planning to use and how you want the system set up. Using 15fps on all cameras will triple the load of a system at 5fps. Capturing at 640x480 uses 4 times the resources of 320x240. Motion detection will use more processor than just continuous recording, but will use less disk space. And so on.

Unfortunately it's mostly a question of tradeoffs and deciding what your system focus is.

Phil

Posted: Thu Nov 10, 2005 1:44 pm
by henke
Hi,

Has anybody found a card which would take the load off the processor?

Or has anyone heard of some card being developed anywhere?

-h

Posted: Thu Nov 10, 2005 2:12 pm
by jameswilson
because all the processing of images is done by zm i doubt that any card could help like they do in windows. If you dont use motion detection that will greatly reduce your load. What are you trying to do?

Ip cameras taking more CPU?

Posted: Thu Nov 10, 2005 3:44 pm
by JoeShmo
Odd that an IP camera would take more CPU than using a capture card.. I have not used Zone Minder yet, as I'm stll trying to figure out if it supports my flexwatch cameras/video servers.
But if IP cameras really take a substantially longer time to process (heavier on the CPU), then you mifhr be able to get a network media decoder for your particular flavor of IP camera. For example, we have flexwatch servers here, and they also make a FW-2140 Network Media Decoder which hooks up via IP, receives video from the IP cams, and provides a multiplexed analog video out. I imagine that this can then be fed into a capture card in the ZoneMinder server..

Keep in mind this is all theoretical... I have not used the FW-2140, nor even Zone Minder yet!..

But as a bit of reference, since we normally use the Flexwatch software for recording (windows based), it can do 64 of the flexwatch IP cameras, but does indeed need a beefy system. We only do 32 cams per server, since we record at 640x480, color, and the highest framerate we can.

On the otherhand, we might be able to have a sort of cluster of 5-10 Penti-3 1Ghz computers, all running ZM, all talking to a NAS.. Then just have 6 - 10 IP cameras per...
(We're a university as well, with about 70 IP cameras out there (mostly using standard cameras connected to a 6 port Flexwatch 500a at 640x480))

Posted: Thu Nov 10, 2005 3:49 pm
by zoneminder
IP cameras take more processing because the system has to parse input to determine image boundaries, decode JPEG, play with image, encode JPEG whereas with a capture card you skip the first two step as the image is presented raw in memory. Unfortunately the jpeg operations are a bit hungry for cpu.

Phil

Posted: Fri Nov 11, 2005 11:54 am
by henke
JoeShmo,

Interesting idea this with a separate media encoder, and the extra digital-analog-digital conversion to take load off the cpu. Can you report any success if you try this please. Would be very grateful.

Does anyone have experience with multiple CPU setups and how they scale? Or 64-bit?
Just trying to find some way to scale the system more.


-h

Posted: Fri Nov 11, 2005 12:22 pm
by jameswilson
ive just ordered my first 64bit rig and gonna see how it does. unfortunatly i think the distro's i have are only 32 bit so wont be able to work out.

I would assume that dualcore, multi processors etc would be more of a help than 64 bit, i know that 64 bit is a bit faster but its not like 1/2 as jast again.

Maybe like you said clustering would be an idea but wouldnt knoe where to start but would love to try just for the wow!! factor

Posted: Fri Nov 11, 2005 6:45 pm
by henke
I am thinking about a setup of 200+ cameras...

The alternatives so far seems to be:

-extra digital-analog-digital conversion to be able to have the capture cards take some work off the CPU's. And still have a couple of servers.
-Some clustering solution.

Or does anyone have any new ideas of this implementation or experience from clustering zoneminder?

Or do you think this sounds entirely crazy and I should go looking for some more traiditional solution?

tnx, again for your comments.

-h

Posted: Sun Nov 13, 2005 6:15 pm
by conor
Henke,

Use the terrific capabilities already built into Zoneminder. It is possible for lower power processors to do the capture and analysis and then send out over the LAN to a central Zoneminder with the big processor and plenty of disk store.

The idea you should have in mind is to use cheap analog cameras and have a cheap processor solution with a capture card locally that then converts it to digital. The motion detect can then be built in locally so taking the load off a central CPU and reducing network traffic. A group of 4 cameras at a time is ideal and that is a good size that hardware is normally available for in any case.

Going Digital-Analog-Digital is crazy as you are currently paying a price premium if you already start with a IP camera. Analog cameras are cheap and there is more variety with the to meet your needs.

Consider some of the following hardware solutions for the local four camera nodes:

1. http://www.verdant-tech.co.uk/digital%2 ... s/avn.html
2. http://www.lex.com.tw:8080/product/SV823A.htm
3. http://linitx.com or http://www.icp-epia.co.uk

Solution 1 is one that I got from searching on Trimedia and CCTV on Google. The Trimedia processor is typically used on IP cameras so having one processor to process four cameras looks like good value. Haven't talked to these people yet and they aim pSos as the operating system for this card. However Linux is available for the Trimedia processor (there are even special drivers which Philips call Luddite). This board looks like a superb solution so please get in touch if you want to implement zoneminder on it as it is something I want to progress as well.

Solution 2 is small and neat but price is high but I know a contact at the European suppliers. Please let me know if you need that.

Solution 3 is to go to these excellent sources and buy M10000 or other Via boards plus cheap capture card and Memory Disk to create a camera processing node using Zoneminder.

Regards,

Conor Downey

Has a networked structure been done?

Posted: Tue Dec 20, 2005 9:44 am
by ekiboy69
Hello,

I am thinking about a system of approx. 30 cameras at three different locations, 10 in each place. The main server would be in one of these locations.

Has anyone done a solution where there would be local "subservers" that would feed the data to the main mySQL server?

This sounds like a reasonable idea. It would minimize the data traffic. I just would like to talk with someone who has similar interests or even has tried it.

Posted: Tue Dec 20, 2005 9:55 am
by jameswilson
I have put multiple servers together to create a big one (tests only) but not in the way you suggest. In the way you suggest are you thinking of have 3 zm servers, and 1 big server that is used for mysql and filesharing. The little zm servers would record to the big server using mysql and filesharing.
I wouldnt have a clue where to start with that. What i have done (and part of the reason of me developing zm4ms) is set up the zm servers (i used 4) on differnet ip's doing their own thing, then added them to zm4ms. From an interface point of view it works as if its off one machine, but this may be no good for you

The core question is minimizing the data being transferred

Posted: Tue Dec 20, 2005 10:04 am
by ekiboy69
Should have guessed James will react :-D Thank you, James!

Well, I guess I could do as well with 3 local servers accessible from the company network.

Is there a way to put them on the same GUI?

That might even be the most economical solution because in this case the bandwidth is really needed for other purposes, too.

zm4ms?

Posted: Tue Dec 20, 2005 10:06 am
by ekiboy69
James,

I read your message poorly. Sorry....

What is the best source of information about what zm4ms is all about?