[HH] the problem with consumer security cameras

Tom Metro tmetro+hhacking at gmail.com
Fri Apr 18 17:19:04 EDT 2014


David Kramer wrote:
>> It seems easy to imagine how one could take a low-end smartphone SoC,
>> combined with a high volume 5 MP camera module made for phones, and add
>> a wired Ethernet port with PoE...
>> Replace Android with a very minimalist Linux or other open source RTOS
>> optimized for reliability, and you'd have a great camera platform.
> 
> I don't know why you would go through all that work. Couldn't you write
> an Android app that sent the camera to a stream over wifi without
> hacking anything?

Drew Van Zandt wrote:
> I have several Android phones I use as IP cameras, there's an app for
> that.  (Several, actually.)

Right. (I think I even mentioned that such apps exist in my original post.)


> The trouble is, the phones occasionally hang or the app stops
> responding.  Then you have to go manually reset them...

Exactly.

Sticking an app on an old cell phone connected via WiFi is fine if you
want to keep tabs on a babysitter for a few hours. It is not a practical
solution if you want to monitor a remote location that will need to go
many months without human intervention.

The biggest weakness of consumer grade security cameras - in my opinion
- is not the image quality or feature set, but the reliability. They
just crash way too often. Or if you're using WiFi, they might drop their
network connection.

A cell phone is even worse. More prone to crashing. More prone to
loosing networking and not always able to self-repair.

To mitigate some of the reliability issues with consumer cameras, I
actually power them through an appliance timer that power cycles them
periodically. As Drew points out, even that can't easily be done with a
cell phone, due to the internal battery.

I assume consumer security cameras are like this because the majority of
the buyers buy based on bundled features, not reliability. They want an
easy to use device that can email video clips, FTP stills, use dynamic
DNS services to register its host name (hopefully only used for cameras
intended to be open to the public), or upload video to some proprietary,
but trivial to use cloud service.

So manufacturers stuff the cameras full of poorly tested, frequently
very buggy features, not to mention barely usable software motion
detection, which probably contributes to overheating the CPU in the
camera leading to more crashes.

This is why my idealized IP camera is one that has the absolute minimum
of hardware and software stack. An absolute must, aside from wired
Ethernet, is having a real hardware watchdog on the camera, so any
software hang results in an automatic reboot. And the software should
hardly have any capabilities beyond putting video streams into UDP
packets (with a protocol such as RTP). Possibly not even having a web UI
for configuration. That might occur by loading a config file via SD
card, where the friendly GUI to create the config can be implemented as
a desktop program.

 -Tom



More information about the Hardwarehacking mailing list