Jump to content
Invader

New System Design for Work

Recommended Posts

Hello,

 

I am designing a new security system for work and I am running into some issues. Here is the specs as of now:

 

=Hardware=

Model: Dell PowerEdge 2950

CPU: 2x Intel Xeon Quad-Core E5345 2.33GHz

RAM: 8x 1GB DDR2 FB-Dimm 667MHz

HDD: 2x 160GB Sata 7200 RPM [system RAID1], 4x 1000GB Sata 7200 RPM [storage RAID10]

RAID Card: PERC 5/i

Video Card: HIS H545H1GD1 Radeon HD 5450 1GB 64-bit DDR3 PCI Express x1

Outdoor Cameras: 7x Vivotek IP8332

Indoor Cameras: 14x Vivotek FD8134

Switch: 2x Dell PowerConnect POE switch

Cabling: All Cat5e less than 300' runs

 

=Software=

OS: Windows Server 2008 R2 Standard Edition

IP Camera Config: Vivotek Installation Wizard

IP Camera Recording/Display Software: iSpy

 

While this config gives awesome display and recording capability, once I add 8 cameras to iSpy the server is running at 84-92% of the CPU's. Memory doesn't appear to be an issue as I still have more than 50% free. I have 9 of 21 cameras hooked up and configured and when I add the 9th camera into iSpy it crashes and restarts the program. If I don't remove a camera then the program crashes about every 15 mins. I assume this is due to using all of the CPU's. Obviously, this will not handle 21 cameras. I need all 21 recording and about 12 displaying. With iSpy I don't see a way to record and not display.

 

The only part of this config that I am committed to is the camera models as they have already been purchased. Does anyone have any advice on any hardware/software changes I should make. I would, of course, prefer free software but if there's a paid software I can try then it would be worth the $ if it all works out.

 

I assume I will need better hardware but with 8 cores already it's like each camera needs a core and that's simply insane! I was thinking about another identical machine running for another set of cameras but that would still only get me 16. Advice anyone?

Share this post


Link to post
Share on other sites

What frame rate are you trying to run the cameras at? That seems like an absurdly high load, considering you are using very adequate hardware.

 

You could give Milestone software a try, it can run as a free demo, their Essential version runs up to 26 cameras at $50.00 USD MSRP per channel. (I have this installation running 22 Megapixel Sanyo cameras at 2MP, 5FPS, and the CPU load is around 40% on a I5 system.

 

Another choice could be Exacq, but I've run into many more problems with it than Milestone.

202922_1.png

Share this post


Link to post
Share on other sites

Regarding CPU load- are you having the computer do the motion detection or have you set it in the cameras? That'll take a lot of CPU load away if you haven't done that yet.

Share this post


Link to post
Share on other sites

Thanks for the replies!

 

hardwired: iSpy is set at the default Maximum Frame Rate=10. Looks like it's usually about 8.5 FPS.

 

Kawboy12R: I checked the Vivotek web config for the cameras and Motion Detection was not checked. I checked this on a couple cameras and gave it windows to look for motion in and set the Sensitivity and Percentage to 10%. There's nothing that really tells me what 0-100% gets me so I'm not sure where I need it set to. If I have Motion Detection enabled on the cameras will that tell iSpy that it has motion and needs to record? I'm a bit confused on how the 2 will work together to get a recording on motion. Maybe I only need iSpy to display? I do see that the Vivotek web config will let me set a storage device but it seems to be looking for SD and I have a local array to record to. I'm open to suggestions.

Share this post


Link to post
Share on other sites

I changed the Framerate for all 9 cameras to 5 then 10 max when recording. I turned on all of the cameras through iSpy and within 60 seconds the program crashed again due to high CPU usage. Reducing the Framerate did reduce the CPU usage by about 50% [now at about 46%] with the 6 cameras running. I can't think of anymore settings I can change to get high quality at a lower CPU usage. Perhaps Milestone will offer better CPU utilization. Anymore ideas?

 

Event Viewer is reporting:

 

Application: iSpy.exe

Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception.

Exception Info: System.AccessViolationException

Stack:

at .avcodec_encode_video(libffmpeg.AVCodecContext*, Byte*, Int32, libffmpeg.AVFrame*)

at .AForge.Video.FFMPEG.?A0xc4d7e875.write_video_frame(AForge.Video.FFMPEG.WriterPrivateData)

at AForge.Video.FFMPEG.VideoFileWriter.WriteVideoFrame(System.Drawing.Bitmap, System.TimeSpan)

at iSpyApplication.Controls.CameraWindow.Record()

at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)

at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)

at System.Threading.ThreadHelper.ThreadStart()

 

 

Immediately followed by:

 

Faulting application name: iSpy.exe, version: 4.5.4.0, time stamp: 0x50508096

Faulting module name: avcodec-53.dll, version: 0.0.0.0, time stamp: 0x4ed5c5b7

Exception code: 0xc0000005

Fault offset: 0x005efb2f

Faulting process id: 0x3618

Faulting application start time: 0x01cda65ab3875f71

Faulting application path: C:\Program Files (x86)\iSpy\iSpy\iSpy.exe

Faulting module path: C:\Program Files (x86)\iSpy\iSpy\avcodec-53.dll

Report Id: 3e0c8145-1251-11e2-8b4f-001ec957f8de

 

I also turned off Data Management as I can manage the data myself through a VBS.

Share this post


Link to post
Share on other sites

Did you turn off motion detection in iSpy? That should drop your CPU usage down. The camera should tell iSpy that there's motion. You'll have to play around with settings and threshold to verify what works the best for each camera position. If you're just playing with it, turn off all motion detection in iSpy momentarily and see what happens to stability and CPU usage when just viewing, not recording. Then I'd try recording everything to load the system that way. Then make sure the in-cam motion detection is working properly with iSpy and tweak each one to record when you need it to record. Nothing worse than missing something because you wanted to miss a few false-positives from spiders or whatever. I have neither iSpy nor your cameras so I can't give specifics, just generalities.

Share this post


Link to post
Share on other sites

iSpy has the following for Motion Detection:

 

Detector Types:

-Two Frames: Probably the most common type you would use. iSpy just compares the last frame to the current frame.

-Custom Frame: iSpy stores one frame in memory and compares subsequent frames to this - good for detecting if things change - say someone takes a bag out of the scene.

-Background Modelling: iSpy takes a custom frame but adjusts it over time to morph it towards the current frame. This is good when you have something in your scene that is constantly moving - ispy will learn to ignore it.

-None: No motion detection, use this if you are just recording on a schedule or want to record a timelapse video or record on demand.

 

I guess None would be where I want to start and see if the motion detection on the camera makes iSpy start recording. Currently they are all set to Background Modelling and I've tweaked the settings there a bit. I'll see what I can get with the camera's motion detection and post back some results.

Share this post


Link to post
Share on other sites

This morning I turned off motion detection in iSpy and before testing whether the camera's motion features worked adequately, I checked the CPU usage in Resource Monitor. Previously I was running an average of 52% with 8 cameras running 5 FPS w/ Motion Detection. Now I am running on average 44% with 8 cameras running 5 FPS w/ no Motion Detection. This is not a great decrease in CPU usage and I'm starting to think iSpy is simply a CPU hog. Any other suggestions?

Share this post


Link to post
Share on other sites

Server-side motion detection is usually the big CPU hog. If that's not it I'm not sure what else to try besides other software.

 

http://blueirissoftware.com/7.html

http://download.cnet.com/NVR/3000-2348_4-75578497.html

http://www.apexcctv.com/c-300-milestone-nvr-software.aspx?gclid=CPWWrumJhLMCFe5FMgod3ioAzQ

 

??? Worth a shot. All have free trials available. Blue Iris and Milestone supports Vivoteks. Not sure on NVR+.

Share this post


Link to post
Share on other sites

awesome! Thanks! I'll post back what I find out. It may help someone else a long the way. I sent a mail to Milestone this morning but have not heard back yet.

Share this post


Link to post
Share on other sites

If I have Motion Detection enabled on the cameras will that tell iSpy that it has motion and needs to record? I'm a bit confused on how the 2 will work together to get a recording on motion. Maybe I only need iSpy to display? I do see that the Vivotek web config will let me set a storage device but it seems to be looking for SD and I have a local array to record to. I'm open to suggestions.

Share this post


Link to post
Share on other sites

I found Vivotek software for the Vivotek cameras and it works awesome! iSpy is crap if you are running more than 5 cameras on an 8 core system.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×