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?"
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.
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.
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.
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