Introduction:
Gspy retrieves images from a video4linux device and processes these
into a daily mpeg movie on the disk drive. Each image is recorded with a time
stamp to insure accurate real world correlation. Special motion detection algorithms are used
to reduce the size of the daily movies by eliminating pictures with similar
content as well as the normal compression obtained via the mpeg process.
The result is a time lapse video per day with nonlinear time compression using only the
images of interest.
This program will only run on Linux machines which support a
video4linux-device in 640x480 capture size. This software has been tested with
the 2.4.0-test1 kernel, 2.4.0-test4 and the 2.2.16 kernel with the usb backport patch. You should have the
Berkeley MPEG Tools installed if you wish to generate the MPEG files. Gspy can be used without the
MPEG tools, as it will fill a directory with jpg images that can be processed or viewed at a later time.
Known Supported Devices:
- Creative Labs Video Blaster WebCam 3 USB, Model CT6840
- BT848 Grabber ( WinTV PCI Radio )
- Please drop me a line if you have success with your camera.
To Build This Project:
Download gspy-0.1.1-src.tar.gz(336078 bytes) or
gspy-0.1.2-src.tar.gz(145920 bytes) or
Get the latest cvs code:
cvs -d:pserver:anonymous@cvs.gspy.sourceforge.net:/cvsroot/gspy login
cvs -d:pserver:anonymous@cvs.gspy.sourceforge.net:/cvsroot/gspy co -P gspy
If you already have checked out a version of gspy, change to your gspy directory and get an update by issuing
cvs update
To build the application from the glade project in the gspy directory, enter:
./autogen.sh
make
su
rootpassword
make install
To run the application, enter gspy at the shell prompt. Gspy should open the video device and then
popup the runtime display window similar to that shown above. If the open fails on the video device, gspy
will exit with an error message. You may need to check and see that the usb stack is loaded if you are
using a usb web camera device. To get your usb camera running, you may find the Linux USB guide
useful (see reference section below). Gspy is quite cpu intensive due the the image processing load.
I run it on a 500mhz PIII and it puts a 25% load blip on every 2 seconds. It should run on most pentium
class computers. Gspy creates subdirectories under a user specified location for each date it runs.
All jpegs captured for the day are placed in the subdirectory. Use the menu option file/Makempeg to select
one of the daily directories and start the mpeg generation process (done in the background at a nice
priority). You must have the Berkeley mpeg tools installed (mpeg_encode binary) for this command to work.
ToDo:
- help generating the internationalization translations would be appreciated.
- add support for multiple USB cameras, maybe 4 as a first pass
- automate the mpeg file generation once per day (currently a manual process)
- improve compensation for camera AGC jumps... causes a lot of false alarms under certain lighting
conditions
- implement offsite transfer of alarm images (ftp? email? webpage?)
- implement video for linux 2 device interface
- reverse engineer compression modes and update ov511 driver to get faster framerates
- support for smaller video image sizes
- write the user documentation
Not Working?:
- Example tests and logs for checking usb setup
- USB device questions: linux-usb-users@lists.sourceforge.net
- Frequently Asked Questions relating to gspy
References
- Homepage -- gspy.sourceforge.net
- CVS server -- cvs.gspy.sourceforge.net
- Linux USB Guide
- Berkeley MPEG Tools
- Linux OV511 Driver
- Omnivision OV511 Advanced camera USB bridge, data sheet
Who We Are and Where to Find Us
The Face |
The Vital Statistics |
 |
Lawrence P. Glaister P.Eng. VE7IT |
| 1462 Madrona Drive |
| Nanoose Bay B.C. |
| Canada V9P 9C9 |

|