Last time when I was overseas I left a dinky webcam in my living room with a bit of software to take snapshots every now and then. That worked reasonably well but it was a) totally static and boring and b) of limited resolution.

So I thought about acquiring an cheapish ip camera, ideally a motorized one with pan+tilt capabilities - and hey presto I got one for my birthday, a Foscam FI8910W (which was my own, underinformed, choice).

This has proved to be a suboptimal choice, as there are a number of cams in the same price segment with fewer bugs and better features.

 foscam installed foscam installed

For testing I mounted the foscam outside under the eaves at my front entrance - and immediately discovered that recent foscams have a really ridiculous firmware bug. Mine works ok as long as the contrast setting is at level 2.

Then I learned that the foscam can only submit a few individual images when it detects motion (by email or ftp) - no saving of a video stream when motion-triggered. Then I found out that the foscam's frame rate is really bad: mine does 6.4fps when serving mjpeg, and only about 1fps when serving mjpeg+sound.

Then I realized that mjpeg is a bandwidth hog, which makes realtime viewing of my entrance over the net pretty much a no-go; the mjpeg stream (640x480 at 6.4fps) needs about 350 kilobytes/second, while my adsl2+ upstream offers just about 100kbyte/sec. So, pretty much a disappointment on all levels.

Some possibly helpful bits of info and code for other foscam owners:

The foscams are primarily controlled by http and there's an 'SDK' document of sorts which describes the interface and shows a few goodies. For example, the foscams can be told to visit a URL when the motion detection triggers. (This setting is not visible in the normal web UI.)

I've used that feature to cook up my own on-trigger video saving: when the foscam detects motion it visits the URL of a script on my local server, which in turn sucks 120 seconds worth of the foscam's mjpeg stream and then recodes that as H.264 video - this drastically reduces the size without too much loss of image quality, in my case from about 50 megabytes to 15meg.

here's the really small script; needs a unixy box with perl and libav-tools (or ffmpeg or mencoder if you edit a line or two). enjoy!

[ published on Tue 16.07.2013 13:38 | filed in mystuff | ]
Debian Silver Server
© Alexander Zangerl