What Is the State of Linux Security DVR Software?
StonyCreekBare writes "I am wondering what slashdotters have to offer on the idea of Linux based security systems, especially DVR software. I am aware of Zoneminder, but wonder what else is out there? Are there applications that will not only monitor video cameras, but motion sensors and contact closure alarms? What is state of the art in this area, and how do the various Linux platforms stack up in comparison to dedicated embedded solutions? Will these 'play nice' with other software, such as Asterisk, and Misterhouse? Can one server host three or four services applications of this nature, assuming CPU/memory/disk resources are sufficient?"
Direct tv uses Linux on there HD DVR's
Zoneminder hands down is the best. I have tried several commercial apps and the couple of windows OSS/freeware ones and a linux box with zoneminder kicks their butt IF you have good hardware. If you thin you want to use the $9.95 ebay copies of the typical BT878 cards you will be in for pain and suffering.. Get a good 120fps 4 channel card and you will be very happy.
Do not look at laser with remaining good eye.
Sorry, but... Zoneminder *is* the state of the art in Linux DVR software.
And for reference, having recently compared many different versions on different operating systems for a project at my company, Zoneminder IS the state of the art in all platforms of DVR software. It's one of the only systems that will work with many varieties of end-point hardware cleanly. Most dedicated embedded systems will only work with their brand of camera, or a single video protocol.
There are systems that will link motion sensors and contact alarms (Zoneminder can do that, too, though it takes some finangling). Again, most of these only work with *their* hardware.
The biggest things to keep in mind are bandwidth, storage consumption, and retention. A camera input card may have a very large 'potential framerate', but when you spread that among the 16 inputs you have coming in, things start to add up *very* rapidly. There are physical limitations on the hardware that you will run into if your deployment is of any large size. Our deployment is one of the largest, having 80 cameras currently (planning on adding another 16 before too long), and we have to spread the load out among 5 high-powered servers with relatively large amounts of RAM. Even with that, we still need to upgrade our switch infrastructure to gigabit in order to be able to view all the cameras simultaneously! We've got fiber to our SANs, though, so storage and later retrieval of footage is no issue.
The only downside is the lack of professional support - Management doesn't have anyone externally that they can point at if something breaks.
If you're a power Linux user, I'd recommend Zoneminder. If you have a few cameras for a small business and are not technically skilled, I'd recommend a pre-packaged solution - but expect to spend more for a similar sized installation. If you have a LOT of cameras (more than about 16) but are not technically skilled... I'd recommend finding a consultant who can deploy Zoneminder and contract long-term support with them.
motion
Short arms and deep pockets...
What Stony means to ask is if there are any free DVR products out there, not the least interested in "Linux based", much less OSS. There is nothing wrong with that, however there are a few niche categories that you won't find "Linux based" software for that is either well developed or even free for that matter. You've just hit on one of them.
Now grow some arms.
On the other hand, I've done deployments numbering several hundred cameras using the Linux security-DVR software offered by Cisco: http://www.cisco.com/en/US/products/ps9152/index.html.
It can handle a darn sight more than the 16 cameras per-server you needed. It does not support linking motion sensors or contact alarms to the cameras, but the record-on-motion capability gives similar functionality for most uses.
Generalized software running on generalized hardware such as Linux on standard computer components will never have the same capabilities as an embedded solution that has been specifically engineered for said purpose. It would be unfair to compare them directly. The real question is how sophistcated do you want the system to be? If you just want quality information for law enforcement should something happen, just get a dedicated system and be done with it.
Typically when people want to explore solutions that are "outside the box" its because they want to showcase it to their buddies... "look how cool it is, I can zoom in on someones booger 300 yards down the road".
Zoneminder is one of the better ones. Have a look at iDVR.
An older /. post with similar interests: http://it.slashdot.org/article.pl?sid=08/04/27/220254
Mod parent up please! I don't know how this crap makes the front page.
Was the subject of your post ("WTF?") in reference to the original post or your own?
Can one server host three or four services applications of this nature, assuming CPU/memory/disk resources are sufficient?"
Uhm, by definition, yes.
My company has switched from Geovision DVR's to Linux based DVR's from DVRUSA. They run Fedora, postgreSQL, and you're actually given the root password to the machine when you buy it. They do motion tracking with PTZ, etc.
I meant WTF like, "How did this nonsense get through?" Or, maybe "How about a little editorial process and chop that nonsense down into something with a viable answer?"
But, then I pretty much went a whole other direction...
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
I don't understand the TLA you used..!?
tomorrow who's gonna fuss
There are hundreds, no, thousands of security embedded linux based DVR systems on the market. But the reference to ZoneMinder leans the question into the area of windowing linux based DVRs. This is a shorter list, but still you find a few. A few quick examples of servers which use a Linux OS you find: VideoEdge (Tyco), March Networks, SeeTec (Germany). All of these offer a client which operates on a Window's workstation, but the recording is done on a Linux box. The Tyco version actually uses the non-journaling EXT2 as the database, so as to take full advantage of the speed and maximum hard drive size. Keep in mind that video systems record multiple TB of data in a normal 30 day record cycle. That is to say, most end-users require between 2-4 weeks of video, and a small number require 6+ months to be saved.
/. readers will flame at me, the IT dept doesn't have the first idea of what to purchase in a physical security system. I've seen this hundreds of times. The IT guy says "IP please", but this translates into a horrible final system purchase.
The fact is the most Linux systems are too complex for the majority of security applications. A lack of skills in maintenance of the OS, networking, and configuration mean that the vendor needs to provide a fully pre-configured kernal+apps which is then loaded on a server, and this means that most professional vendors offer Windows systems as the rule. SeeTec does allow for normal SuSe as the OS and then their application loads on top, but the reality is that 95% of end-users don't choose this because they are window's houses. This means SeeTec develop the Windows version as the priority.
There is also the politics to consider. The IT department and the Security dept. couldn't come from more disperate worlds. Generally speaking they don't like each other, and don't want to talk to each other, and no matter what the
The take-away is that as an IP guy, don't look for a pure Linux system if you are serious about security. Integration into Intruder, Access Control, Fire and Building Management (almost all of which are also Windows based systems) will require you to most likely stay on a Windows platform. If you're from the IT department you'll need A) a professional Integrator/Installer to recommend the right system and B) you'll need to remember you're no longer an expert. Security is not IT even though it might be loaded onto a Windows or Linux box. So please don't tell the Integrator what you "need". First get at least 2 opinions and then start to shape your requirements.
Have a look at the Hawkeye systems by Neugent which runs of Centos or Fedora
You should take a look at LinuxMCE- http://www.linuxmce.org/
It's hopefully about to get out of the latest beta (built on Kubuntu 8.10) with another release scheduled shortly after 10.04 is release. Asterisk and MythTV (or VDR) are part of the standard package... much more can be added with a little coding.
I use a package called "motion" and a collection of shell scripts to handle my cameras and viewing them.
From http://www.kmotion.eu
We've been testing it for a few months alongside Zoneminder, and it's definitely progressing.
If you buy a security DVR system that is not based on free software, be very careful to check what you are buying. Check the software requirements very carefully. If it "requires Internet Explorer", find out why this is.
Many (most?) of the proprietary DVRs use ActiveX controls for remote access. These typically work only with IE6, so not only do you have to use Windows, but an old version at that. And no, this won't ever be fixed. You'll have to carry on using Windows 2000/XP for the lifetime of your DVR. Don't upgrade to IE7, because that will lock you out of the system.
I know of at least one person who was burned by this, and last year I spent some weeks trying to find a commercial DVR solution that didn't require ActiveX, without success. Zoneminder is miles ahead of the commercial systems in this regard.
You're an immobile computer, remember?
Take a look at LinuxMCE- has MythTV and Asterisk built in... with a lot more that can be added with a little coding- e.g. Hulu support hopefully will be released in the next couple weeks. The current build (in beta still) is based on Kubuntu 8.10 and the next release is scheduled shortly after 10.04 is released next spring.
Linux natively supports these devices, and the V4L2 APIs make it trivial to reads frames. Using libavcodec from the ffmpeg project you can encode the frames to practically any format imaginable. I encode all 5 cameras to MPEG-4 at 30 fps using minimal CPU power. All of this is possible with only about 500 lines of C code. Of course in my own version I've added a lot of fancy features over time and the project has gotten quite large with support for low-bandwidth streaming, crude motion detection, time-lapse video, etc.
I won't lie to you and tell you that the documentation for ffmpeg is any good. But there are tutorials out there that explain how to use libavcodec and everything else is a piece of cake. Don't overestimate how simple is it to get something basic working.
Actually, you're quite wrong. I want to avoid closed "off-the-shelf" products if at all possible. But I want a really good system, and am trying to learn what is available in the Linux world that will meet my needs. I am leaning heavily toward Zoneminder, but want to know about alternatives I may have missed. I am planning a large server infrastructure that will include applications such as Asterisk, MythTV and even Misterhouse. I am very much wondering as well about sharing server platforms, thus looking for caveats about combining, say, Asterisk and a few security cameras on the same server. Frankly, your post is offensive and does not contribute to the discussion. Stony
This thread is not complete with mentioning the Elphel. Some instructions. If this roadmap entry is up to date, you'll have to choose a specific elphel model. I have no experience with either.
Sounds like you're going to wire up a home with super multimedia, automation, and a decent amount of security hardware too. Is that correct?
I'm a bit envious: it sounds like a house I'd like.
Submitter: "I run a small hotel, and I'd like to put pinhole cameras in the ceilings and bathrooms^W^W^W uh, outside for "security".
As I have been commenting on this post, I have realized I should have said this years ago on /. There are well paid jobs in Security for the IT savvy. I'm talking more for network admins, and general IT skills then programming, but progamming is also needed. The whole multi-billion dollar Seucurity industry is moving quickly into software based, network infrastructure and away from stand alone systems. Its been happening for the last 10 years but it is now accellerating. There is a especially strong need for customer facing technical sales support. People who can design robust Video and Access Control systems which transport TB's of data across local and wide networks. Integration of building management and other sub and super systems is also key, but most of the integration is minimal programming, more like some scripts and good network know-how.
And don't, REPEAT don't try to fake security knowledge. They'll teach you. Tell them your IT background and tell them you want to learn.
I really suggest to everyone here looking for work to contact a large security Integrator or Manufacturer in your area. Tyco, UTI, Honeywell, March Networks, Pelco, Verint, Genetec, ONSSI, Bosch, Siemens, Panasonic, Sony and many others have locations close to you.
Good Luck!
I tried a few things in our small business before settling on Zoneminder with a PV-149 8-port analog card & analog cameras. I have it running on a cheap Dell server (Pentium Dual Core, I think), and several weeks of events can be kept on the 80GB drive. It has been an extremely reliable setup for the last couple of years. If you use the Axis IP cameras with their own event triggering you can get away with a very low-powered machine, but the image processing otherwise means you want something at least halfway decent. If your box is powerful enough I can't see why Asterisk wouldn't run ok as well, but I haven't tried that yet. For a while I had it running with some cheap USB webcams, but they weren't as stable as the analog cams, and it's easy to get analog cams that switch over to IR in the dark.
...between a mathematician and a pizza? A pizza can feed a family of four.
Because you dont know how zoneminder works. If it were to record everything 24/7 blindly.. yes you are right almost zero processor used.. Zoneminder looks at every frame doing motion zones and detection. It's 1000% better than the best commercial DVR you can buy. Really it is. I have tried all them including the high dollar ones, Zoneminder kicks their butts hard.
Sorry, but your completely wrong. The idea of motion detection on digital video recorders is over 10 years old. All DVRs of any value have motion detection built in, and the BT878 MJPEG cards mostly used with Zoneminder are garbage. The MJPEG codec is the wrong one to use for most applications because of the high storage requirements. Yes, you can process motion detection faster, but you loose out on bandwidth and storage. Zoneminder can use IP cameras, so that is a plus in its favor.
Also, your point about no CPU usage at full 24/7 is also incorrect. The BT878 cards require software compression, which means CPU overheard just to lay down the video. There are other cards, such as from Vidicon, which allow for hardware compression thus offloading the bulk of th CPU requirements.
Again this is nice, but very home-brew type of solution. If you are a professional or just a larger business who takes into account the man hours required to build, and most importantly to maintain this system, you should go to one of the "commercial DVR systems". These will give you the required reliability and low maintenance, in addition to a smooth interface usable by more then the IT guy.
Zoneminder has what I consider nice "marketing". The website is relatively easy to navigate, the package is simple enough to install and the ui is easy enough to use without having to read a manual. I donated a couple hundred quid when I first started using it.
I deployed and used zoneminder in retail settings for a couple of years. The hardware was middle of the road, but the combination of 4 cameras recording at only at 3-6 fps and having constant motion (thus triggering events and recording) 12 hours a day/7 days a week made the system unusable. The use of mysql as the database to store millions of events caused the entire system to thrash disk nonstop once some threshold was reached. ugh. In practice, the UI makes trying to find a time or event an exercise in frustration.
I switched to motion http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome and haven't looked back. The motion package is not as easy to setup, nor is there a nice gui out of the box. My motion system is a custom mishmash of scripts that allow me to quickly access the day/time and camera as needed. I can even view the realtime images remotely using the built-in http server. There appear to be gui front-ends for the system, but I haven't used them, to be honest.
Now the disk never thrashes, the cpu usage is less than 20% versus regular 100% pegging by zm. And best of all, motion can save directly to video files, whereas zm had to save jpegs, then run a process to convert to video (this may have changed by now, since it's been a while since I've even looked at zm).
With some time and programming you can combine motion with some external sensors (2-wire) and have some pretty sophisticated home grown monitoring.
In my experience zm is only suitable for low freqency events and light duty applications.
I've used ONSSI's surveillance software for windows. About 40 cameras, all megapixel or above Axis cameras, recording on MPEG. One server on a $175 AMD cpu with a 16 channel Adaptec RAID card. (16-1TB 7200rpm SATA drives). Doing record on motion, the CPU is pegged at about 60% all the time.
I got ONSSI up and running quicker than I am using Zoneminder, although I have more windows IT experience than Linux.
Currently having some issues playing with Zoneminder/Ubuntu memory management, and I don't think the viewer interface is anywhere near as good as the ONSSI solution. ONSSI support is poor to average, and is really a windows only product that seems to break easily when malware screws with Explorer. (that's why I'm trying to move to Linux solution)\
Zoneminder is a LOT better than when I evaluated it 19 months ago. It wasn't a viable alternative then for us, but is now.
Never done more but contribute a little financially to open source, but looking for ways to help the project.
This is a very important question.
Some examples of systems that have been implemented include
1) IAX Call point software, with call logging to details to MySQL, that will automatically connect to a DVR system and obtain video footage remotely (saving as a BLOB in the DB) over the internet for the duration of the call, from 1 or more cameras located at the call point.
From there, there is front end software (php, and GTK#) that allows viewing footage, playing the phone call, and viewing data related to the call.
(I have done this with both a standalone DVR, and a Linux PC Based DVR System).
2) IO Triggering for Tilt sensors fitted to poker machines, that will send PTZ commands via RS485 to cruise or call preset positions, record audio on inputs, initiate remote connections, and all that jazz
3) Analytics, object tracking, facial recognition.
4) Digital (True Video over IP - Megapixel stuff), or analogue video
5) Is this for an I.T. Shop, end users that have NFI about security, or yourself. (VERY IMPORTANT QUESTION !!!!)
Once you have worked out these requirements, then and only then can you say that one package is better than another.
I have used the comart Sentry24 stuff before. (The latest version has SIP support for audio).
Not very bleeding edge, but very end user friendly.
Zoneminder is good if the system is for yourself, not very good if the system is to be sold to someone else. (Guess who is going to support it !)
Now days though, the problem with Linux Based PC DVR systems that I have found is
1) Reliability, Get yourself good quality components, lots of fans, and a big power supply. (DVRs tend to be mounted in dusty hot areas, capacitors dry out, things tend to go wrong)
2) Cost ! I can get Linux based standalone systems, that are more user friendly than most linux systems, that support IO, RS-485, PTZ, Bi Audio, 16Channels, 200fps PAL, Remote view CMS clients for Windows and Linux, for the cost of a decent 16Channel 200fps Capture card for a PC (Phillips Chipset not brooktree crap), add the cost of a decent PC, and well, you get the idea...
Some of the good standalone DVRs have open protocols for remote viewing, which means you can integrate them with just about anything.
Hope this helps
Check out exacqVision. They have standalone hardware and recording software solutions. It supports analog and IP cameras, motion detection, and motion sensors. I use the Windows version where I work, but they have a Linux version of the client and server software. The software allows you to connect one IP device for free and you have to pay to license each IP device beyond that. I think you have to contact them to get a demo login to download software from the site though. http://www.exacq.com/
Check out Linuxmce.org. It's constantly getting better and has all of that already cobbled together for you. it's a bit complicated but it works once setup.
We have an LX-8000, running two 8-channel cards. I found a backdoor into the box by nosing around after reloading it. I called their phone support guy (two years ago), who confirmed it was a hole into that system. Google has shown me other Hawkeye DVR systems online. I was able to access (and changed nothing) to those Hawkeye DVR system quite easily. I have had to reinstall from the Fedora CDs, and the vendor's install disk and determined the install script puts the backdoor into place. All passwords were also stored in plain text. For the owners, login as root, dig around the var www html directory for a 10 letter directory. The HTML login for that directory's user/password is 8 letters long, (Hint is on line 3). Our newer DVRUSA system does not have the username/password so simple, but i still removed the 10-lettered folder anyway. - The product is straight forward and simple enough for two computer-scared people to use it as needed. Staying anonymous if possible.