GrabboCam 1.0

from Grabbo.com

Introduction

GrabboCam is a full-featured webcam application for BeOS. Besides the usual webcam features (periodic ftp of stills), it uses sophisticated motion-detection to trigger recordings of stills and/or movies; each frame can be timestamped with the current date and time. Notification of the motion event can be via email, and/or audio (for "eyes-free" monitoring). The moving object is also tracked: the position can be highlighted with a crosshair and/or output to MIDI. These unique features make GrabboCam useful for (scary) video surveillance and (fun) interactive multimedia control.

License

GrabboCam is shareware. If you find it useful, and/or use it for more than 30 days, you must pay for it. The price is $29 USD. All payments are handled by PayPal. Click on this button to pay via credit card: Make payments with PayPal - it's fast, free and secure! (BeOS Personal Edition users note: PayPal uses secure connections, but NetPositive for Personal Edition doesn't support them. Try using Opera, or use a browser in a different OS.)

The Interface

The basic GrabboCam interface is shown on the right. The top half of the window shows the menu bar and the current video input feed; the bottom half has most of the controls, organized in several categories: recording, ftp, detection, and notices. Between the controls and the video image there is a status display for messages.

File Menu

Recording

Settings related to various recordings made by GrabboCam. Once you start using GrabboCam regularly, especially at high framerates, these recordings can occupy a significant amount of space. GrabboCam will not fill up your hard drive to more than 98% of capacity! Once this limit is reached, old recordings are deleted until the drive is 95% full. It is often a good idea to store recordings in a separate partition.

FTP

This tab controls when and how recordings are sent to your FTP server. You'll need the information about your ISP's FTP setup. (Note that if you use a webserver like PoorMan, RobinHood, or Apache running on the same BeOS host as GrabboCam, or don't care about web access to your recordings, you can forget this tab.) It's possible that you can be making recordings faster than they can be uploaded (esp. at high framerates). You can adjust the framerate, the still recording period or the detection sensitivity to help in these situations. Uploads are queued by GrabboCam, and only one can be underway at any time. (However, the queue does not survive reboots.)

Detection

GrabboCam uses an "adaptive background subtraction" algorithm to detect motion. It assumes that incoming video is of a static scene, where motion occasionally occurs, such as a stationary camera on an indoor scene. The background is "learned" in the first few seconds after starting GrabboCam. Small, gradual changes, such as those due to the passing of the sun, are used to update the background model. Large or sudden changes, when present for several frames, trigger a motion event, and recordings are then made if enabled.

This technique works relatively well on outdoor scenes as well, but can be triggered by clouds transiting the sun, or when leaves or branches (or their shadows) are moved by the wind. You can mask out regions you want the motion detector to ignore, such as trees or passing traffic, by using the "edit mask" feature.

Notices

When motion is detected, you can get an email notice, or play audio of your choice.

MIDI

GrabboCam will create a MIDI endpoint called "MotionTracker" that you can connect to any MIDI synth, internal or external. For example, after starting GrabboCam, you can launch Be's MidiPlayer application, and select MotionTracker in MidiPlayer's "Live input" menu. Use Be's "PatchBay" app to connect MotionTracker to an external connector.

Note messages are sent, based on the center of the largest moving object (crosshair position): low notes on the left of the image, high notes on the right. Velocity is based on the y-value of the motion center: large velocities at the bottom of the image, low velocities at the top. In typical camera setups, where the camera is looking out and slightly down at the ground, this corresponds to distant objects causing quieter notes than close objects. It's possible to learn to tell in which direction objects are moving based the musical phrase produced, and even tell if they were passing cars, pedestrians, or birds based on the rate notes change, etc. You also just point the camera at yourself, in front of any static background, and have fun waving your hand around, if you're easily amused.

Using GrabboCam

GrabboCam is meant to be used with a stationary camera, looking on a scene where motion is relatively rare. If a portion of the scene has motion you want to ignore (such as passing traffic), you can mask out that portion using the mask editor (on the "detection" tab).

Using television as source of video is not usually a good idea, since things are constantly in motion on TV, with a couple of notable exceptions. When sports such as American football or baseball are broadcast, there is a moment of stillness just before the play starts, or just before the pitcher starts his windup. This will usually cause GrabboCam to stop the current recording. Once the play starts, the motion triggers a new recording. When later playing the recordings back, almost every play will be at the start of a recording! You can stop the playback when the play ends to skip the boring stuff between plays. Some TV sports directors seem to avoid ever having a still frame, though, so your mileage may vary. A similar effect can happen when a TV program goes to a commercial: a short fade to black can stop the current recording and start a new one. Beware, however, that anytime you use television as a source of video you can expect GrabboCam to be recording almost continuously, which can rapidly eat up disk space. (GrabboCam's disk space recycler will avoid the disk from overflowing, of course.)

Disclaimer

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
grabbo.com
Last modified: Thu Nov 23 14:56:01 2000