hardware 4 30+ UTP cams (&& video compression)?

Support and queries relating to all previous versions of ZoneMinder
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

hardware 4 30+ UTP cams (&& video compression)?

Post by hexa »

Hi,

i bet question like this was already posted so my apologies first.
O.K. here it goes:

Can zoneminder handle 30 to 35 UTP cams all at once and what kind of hardware configuration would it need?

I also want to record whole production line (printing newspapers ;-) ) and have all data recorded back for _two_ months ;-) Maybe video should be compressed? Can you compress/encode video with zoneminder?
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

when you say utp do you ip cameras or utp converted cams?

The number of cams is more or less irrelevant its the framerate and resolution that you need to watch.
ie my duron 750 can do 4 cams at 320x240 at 2fps each no probs but would truggle to do 1 at 25 fps.
I have done basic tests to find hard limits for zm and basically if you use an fx60, 2 gig ram and raptors in a raid0 the you can do about 200 fps at 320x240 absoloute max. Without motion detection and without playback (as this takes fps!) I would say that 100fps is quite easy for zm on top end hardware. so if all you need is 2 fps and 320x240 I woudlsay that 35 cams is achievable. I persoannly have never run one that high but have used 28 cams before with no problems on a 4800 X2. I do feel though that intel has an edge and will be building an intel dualcore on my next big build to see how they compare. The reason i say this i have 1 3.2 Gig P4 with HT running 24 cams at a lower load than than th 4800 does with 24, but some are ip in the 4800 running at 640x480 so its not a direct comparison.
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

Post by hexa »

Thank you for your answer.

By UTP i mean network/TCP/IP cameras like this (http://www.axis.com/products/cam_210/index.htm) Axis based.

I understand what you mean that FPS and resolution are more relevant.
Let's say that 13FPS per cam(640x480) is what i wish to achieve ;-)
So i should suppose that a recent dual core processor based server (now by your advice Intel rather than AMDX2) can handle roughly 11 cams at that frame-rate. So i would need 3 of these expensive servers for 33 cams?

How important is RAID? Would sata based disks work just as good?


Now thinking about three servers for capturing and analysis makes me wonder if it's possible to have fourth server only for displaying/replaying videos captured on the other three? ;-)
MySql data shouldn't be a problem to access and images could be exported via NFS...
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

i would say 13fps at 640x480 per cam would be hard as 640x480 is 4x the number of pixels that 320x240 is so your milage may vary. I suppose you could use your 3/4 servers to anaylse and store images and sql on a central server but i wouldnt know how to set that up, i prefer the distributed approach and made zm4ms work with up to 36 different servers. I personally would go down that route. Plus as this project seems to have a fair budget withit id prove the theory of 1 server first, like i say 12 fps is near realtime and at 50K per image is 36 meg a minute per cam so your gonna need a few hard disks!!
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

Post by hexa »

i understand,

i'm going to look into this zm4ms whatever it is. I heard about it for the first time here ;-)
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

zm4ms is a zoneminder for mcrosoft front end.
It only works in windows 98 and up ( i think) can accept upto 36 cameras from upto 36 different servers and stream/playback as if one machine. Has map views, alarms (soon) full screen modes etc. Getting quite comprehensive now, but it still needs more!
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

Post by hexa »

i see (i found the topic here).

So it only moves the load that users cause while using it from zoneminder server to client PC? Server still has to do all the hard (detecting movement) work?
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

yes the server does the hard work but you can split into 10 servers and present to end user as 1 unit as it all operates the same. I wouldnt want to make zm4ms do anything that taxing as it needs a bit of horsepower s it is and if it were to do the motion detection for example what would you do when a user logged off and went on holiday or windows died? There is too much out of your control. Its purly an i/f nothing more
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

Post by hexa »

yeh now i get it.

One could set up n servers (as needed) and then present info from all in one nice front end ;-)

Is your work open source? I wanted to dl it today from http://217.154.38.122:8080/zm4ms.zip but failed.

(I can host it for you if you wish 4 free ;-) or put it on sourceforge)
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

no its not open but its not restricted. I took down zm4ms during a licence debate i think the url is
http://217.154.38.122:8080/version2/zm4msbeta.zip
Im currently working on adding the voice alarms but its stalled slightly waiting on something else!

I cant open zm4ms as its my employer that paid me to write it, but they did agree a version of it could be given away. So thats why.
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

Post by hexa »

too bad.

I can't use it then, since there is no guaranty that you won't stop developing it in the future and since we don't have the source we can't support/fix it by ourself either.
Would you/your employer sell us your sources under different licence?

The idea is so good that we just might do this by ourself and will end up with scalable system ;-)

BTW that URL doesn't work either. (Safari could not open the page “http://217.154.38.122:8080/version2/zm4msbeta.zip” because the server stopped responding.)
hexa
Posts: 17
Joined: Mon May 29, 2006 11:46 am

Post by hexa »

URL,
it just might work since i remembered that i'm behind a firewall. ;-) sorry.
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

It should be there as its my server at home!
NO there is no guarantee I wont stop developing it, but if we had no use for it we could release the code. The only reason we wont is due to the export routine as we (not the free version) watermarks the images and if it were open that would be easily defeated.
There is a discussion somewhere on here about using multiple servers to use a central db and file storage. That way the hard work of movement detection and saving is done by the slaves and the master is just a big mysql and file server, runing zm with all monitors set to monitor. You will be able to view all cams then on big server as it will stream them from each of the slaves and also playback all cams. I wouldnt know how to do this mind, this is part of the reason zm4ms was developed, to fix a problem we had, but im sure if you know enough about mysql and linux, like you seem to then it should be achievable and a lot easier than developing your own front end!
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
User avatar
tech_fixer
Posts: 132
Joined: Tue Jul 29, 2003 3:07 pm

Post by tech_fixer »

Going back to the original issue of this thread, I have some pointers for you based on my experience.

I also use ZoneMinder in a production line. Most of the times cameras are used to monitor a whole area of a production line. When this is the case, motion detection is not as advisable. The issue is that you may want to monitor some equipment, and whatever happens around such equipment. Continuous recording tends to be the best option in this environment.

Needless to say, continuous recording takes up a LOT of disk space, specially at 640x420. Now, most traditional surveillance equipment dont go much higher than 350 or 380 resolution lines. So you might want to consider lowering resolution to 320x240, or doing a mix of both depending on the case at hand.

On the other hand, if you have enough cameras to cover smaller details of your production line, then you might be able to use motion detection with good success. This is specially true when monitoring hallways, alleys, entrences and warehouse spaces. These areas dont usually involve much movement, as with a production line. This is because you are looking for movement through a space, rather tan the interaction with a machine.

On the equipment side...

For the server, I have now 12 cameras on one server,and I'm ready to add 12 more. This server is a single processor, Intel Xeon with EMT64 with 2Gb RAM. Since the Linux version I'm running on it is 32 bits, it sees the CPU as 2 virtual processors. CPU and memory use is low enough to let me add a whole lot more cameras to it.

How do I do it? I keep the framerate at 3 to 5 frames per second. To me this is more than acceptable for surveillance purposes. Wherever I use motion detection, this framerate goes up to 15fps whenever an alarm event goes off.

For the cameras, AXIS is the absolute best, if oyu have the budget for it, but try to stay clear of the Axis 207. If not, I use the Gadspot cameras quite successfully. If you go for lower budget cameras, in my experience, these cannot be throttled as their AXIS counterparts. This raises a performance issue you need to be aware of.

When handling many IP cameras that cannot be throttled, it is better to use ZM's JPEG mode, instead of the MJPEG mode. This is because with MJPEG the camera wil try to stream with as high fps as its CPU and bandwith can handle. My cameras can stream at 15fps on a 640.480 resolution. Now, if ZM captures at only 3-5fps, the server still has to process the other 10-15 frames sent by the camera even if it does not use them!! This becomes a horrible waste of CPU, memory and bandwith. Believe me, this can bring your whole setup to a crawl.

With the JPEG mode, however, the ZM server pulls only the images it needs from the camera, thus conserving CPU, memory and bandwith. Also, I've been able to capture as high as 20-25fps using this mode.

As a last note, whatever you choose to do, with 33 cameras you'll need a massive amount of storage to hold 2 months of recordings. You might want to consider a storage server with a Gigabit network backbone that connects to a dedicated Gigabit network interface on your storage and ZM servers.

Man this was a long post. I'll have to put all this info on the wiki.

Hopes this helps,
Jose.
jameswilson
Posts: 5111
Joined: Wed Jun 08, 2005 8:07 pm
Location: Midlands UK

Post by jameswilson »

Id agree with most of that it is the frame rae you need to watch and also goes towards my suspicion that pentiums are faster than athlon64 in these environments.
For the server, I have now 12 cameras on one server,and I'm ready to add 12 more. This server is a single processor, Intel Xeon with EMT64 with 2Gb RAM. Since the Linux version I'm running on it is 32 bits, it sees the CPU as 2 virtual processors. CPU and memory use is low enough to let me add a whole lot more cameras to it.
You will see 2 virtual processors if you use hyper threading, whether on a 32 or 64 bit os. It means the processor can handle 2 simultainous threads but is not the same as dualcore, but is better than single core for this environment.
Last edited by jameswilson on Wed May 31, 2006 6:17 pm, edited 2 times in total.
James Wilson

Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
Locked