Ask Slashdot: Open-Source Forensic Surveillance Analysis Software?
McBooCZech writes "I am trying to set up a surveillance system. It is not intended to build a real-time on-line surveillance system to watch a wall of monitors on a 24/7 basis. The main scope is to record video (24/7) from the fixed cameras around our facility and when needed, get back to pre-recorded video and check it for particular event(s). Of course, it is possible to use a human to fast forward through video using a DVR-type FF function for short video sequences. Unfortunately, for long sequences (one week), it is not acceptable solution. I was searching online the whole weekend for the open source software for analysis of pre-recorded video in order to retrieve events and data from recorded video but had no luck. So I ask you, Slashdotters: Can you provide some suggestions for forensic software to analyze/find specific events in pre-recorded video? Some examples of events: 'human entering restricted zone,' 'movement in the restricted zone,' 'light in the restricted zone.'"
Something about an autoturret system for shooting squirrels with a watergun comes to mind...
Zoneminder.
http://www.ispyconnect.com/ Open Source Camera Security Software
http://code.google.com/p/openvss/ Open Platform Video Surveillance System
http://www.zoneminder.com/
It might be a lot easier to install sensors to log interesting events that you can go back and review the video.
Some examples of events: 'human entering restricted zone,' 'movement in the restricted zone,' 'light in the restricted zone.'"
Just tell Homeland security that some occupiers are planning a protest. They'll pay for the install and maintenance of your system. Every now and then, leave a deflated half-assembled tent in the parking lot...
#fuckbeta #iamslashdot #dicemustdie
Many commercial DVR/NVR's will have this functionality built in. Motion recording, motion event triggering, motion search, and motion search by area are rather common features in commercial CCTV software. I have never seen anything approaching this in open source or free software.
There are several brands I would recommend. Any of these can sell standalone servers or just the server software.
Exacq (www.exacq.com)
milestone (milestonesys.com)
Avigilon (avigilon.com)
Of those three, Avigilon has the better video handling, IMHO. Especially when working with 3, 5, or 16MP cameras.
All are somewhat comparable in price.
If you have a Mac and some cams (up to 60 cameras)
http://www.bensoftware.com/securityspy/
and http://www.bensoftware.com/securityspy/features.html
"SecuritySpy can send email notifications, play alarms, or run scripts when motion is detected."
Domestic spying is now "Benign Information Gathering"
Video analytics can only help out so much.
Realistically, video analytics can and often does present a lot of false positives, so its not the be all and end all to security.
I would not rely solely on CCTV for any half decent security solution, purely because it only offers after the fact protection.
What I would be asking is what events are you specifically looking for ?
I would honestly suggest you use CCTV as part of a security plan, and not using it as your only plan.
Access Control systems can log who, when and where people have attempted to and gained access.
Alarm Systems can detect motion in areas and respond based on arming status and schedules.
You kind of get the idea.
Using other methods of physical security can help you determine when events may or have taken place.
This in tern aids you in searching for video footage, as if you know roughly when an event has taken place, searching through a couple of hours of video footage for one or a couple of cameras, (At 8x, 16x or 32x speed) becomes a whole lot easier than trying to get the perfect video analytics configuration that wont waste your time with thousands of false positives that you will need to watch for a weeks worth of video footage.
If your after simple CCTV security, and you dont have a lot of traffic (pedestrians, vehicles or other movement), then motion detection can also make life
a lot easier, as it tends to cut out a LOT of video footage during quiet times (Night time for example).
What I want to know is where I can get the one that allows you to zoom in infinitely and refine a sharp image out of a few pixels.
What you are asking for is a computer vision system. Typically there are parts, but no complete Open Source implementation of what you want, unless you are willing to assemble them yourself, and accept somewhat less than commercial quality.
Here's the most comprehensive resource: http://www.roborealm.com/links/vision_software.php
Movid is the part you want for human tracking; typically these systems are going to require parallax cameras, meaning binocular vision, for some of the recognition.
This is where Google is not your friend. There is no open source or even inexpensive option that will do this adequately. Several posts higher up are the names of several offerings, all commercial, which will do the job for varying costs depending on the options selected. Zoneminder can't even come close.
"Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
Yeah, I used to work with a lot of those people from Autometric. They used to have a cool Star Trek LCARS interface. They were trying to sell it to do airport security, and had some pretty nifty 3D models that showed the coverage field of every camera. It was more geared to giving you realtime alerts of stuff that's happening on cameras and sensors, though.
It was a spinoff of EDGE, which was pretty much that 3D Earth sensor fusion thing from Snow Crash that was around on SGIs and big iron before being ported over to Windows ... just before Google bought Keyhole and made that kind of thing cheap/free. Still has lots of extra analysis features, like calculating radio and radar line-of-sight through mountainous terrain, satellite sensor coverage, and lots of other cool stuff.
I posted this anonymously but now I can't find it on the listing here. If this is a repeat from another post (that I cannot find), I apologize. I'm not sure if my thoughts here will be directly in line with what you want, but I wanted to share what I did in case it would help.
/media/surveillance/front_cam/snapshots. On top of that, I also run 24/7/365 full time recording, which utilizes the H264 stream of my cameras. Motion does not support H264, so this particular stream is not involving Motion at all. Motion is only dealing with MJPG. My cameras have
To start, ZoneMinder is a project that I have a soft spot for. It's a very complex application that works moderately well than even some brand new proprietary solutions out there today. That said, ZoneMinder has to go through a monumental facelift before I would consider using it again. Last I used it, it would run for a few minutes then just stop recording and populate thousands of errors in my syslog. ZoneMinder has had some recent developer activity with some individuals who are taking it upon themselves to do work on it and patch it accordingly. The problem is, these individuals don't have access to patch the core version in the repos. I wouldn't be surprised if a large update comes out soon or that ZoneMinder gets forked under a different name with all of the updates. Either option is possible. That said, ZM isn't my software of choice at the moment.
Instead, I use Motion. Just a quick disclaimer, Motion is admittedly not for Grandma Edna who never used Linux before. It's something that requires a little bit of setup. It's a daemon, not a GUI. You have to create the directories for each camera feed. You have to adjust all of the parameters you want within the config file. You have to lay down the initial foundation upon which Motion will run on. If you want some insight with getting started, have a look at my YouTube tutorial I set up a few months ago. http://www.youtube.com/watch?v=NwDLkMPLTw0 (take note there's also a Part 2)
Motion works by watching the MJPG stream of your camera and taking snapshots accordingly. Those snapshots can be configured to stay regular JPG's, or you can turn off JPG's all together and have the system stitch them into an avi file and have more of a video-esque playback. Because MJPG isn't that fantastic with compression, it's literally impossible to have a flawless amazingly epic jaw dropping 3000 FPS feed that looks like BluRay quality. MJPG is solid, but it's not something you would want to be running as a traffic cam where every second makes a tremendous difference. The reality is when it comes to surveillance footage, it only takes a single JPG to really capture the face of a crook. MJPG is very well suited for things like that, so running an MJPG setup at 2, 5, 7, 10 FPS, whatever it may be could very well be a home run.
As I said, Motion has no GUI. You may be wondering, but wait, I want to have a montage of all video feeds actively running. You can do that relatively easy, but it'll take a little bit of leg work. Here on the Motion FAQ I posted some ideas as to what you can use to create your own montage. This will be very basic with no additional features, but you'll see all cameras running at once. Likewise, you can click on each feed to see it full screen. I built my own motion.html file and just keep it saved locally and open it in a web browser when I want to have view. I use Method 2, but each one should serve its purpose: http://www.lavrsen.dk/foswiki/bin/view/Motion/FrequentlyAskedQuestions#How_do_I_see_more_than_one_camera_stream_at_a_time_63
I personally run dual streams. I have Motion running at 1 FPS with the MJPG stream of my cameras which saves the JPG's accordingly to the specific directory for that camera... meaning my camera out front will save the JPGs in