Skip to content

IP391W P2P Survalience camera review and tips

So I found two of these at the local hardware store, with a heavy discount and though why not try them out?

They are banded “SafeHome” (http://safehome.dk/en/produkter/278031-Nordic/), but under the skin they are Tenvis IP391W (http://www.tenvis.com/ip391w-outdoor-waterproof-ip-camera-18leds-night-vision-p-196.html)

The initial impression was okay, as the housing feels good, sturdy and water proof.

While the hardware might seem fine, the software is somewhat lacking.

For all features to work they recommend using IE with a old ActiveX plugin…

The motion detection is REALLY terrible. I’ve set it to blunt (the least sensitive value), and still get about 5000 emails pr. day. Mostly at night, where it seems to trigger every minute or so.
It’s also very late to trigger an alarm, so in the morning I’m actually able to drive out of my garage and out of sight (20 meters) without the camera snapping a photo of me. If I stand still for a about minute, it correctly triggers an alarm, but it needs A WHOLE MINUTE!

On my phone I’m using an app called tinyCam Mobile, which works quite well, but I could not get the recommended app to work (P2P Cam h264).

To compensate for the lack of timely alarms I set up the camera to record continuously (from i own web-interface), however the files it creates on my NAS can only be watched by a windows xp program, and the video sometimes jump several seconds (up to 30 seconds) in time, and just to make it worse, you can’t seek in the files either!

What you can do however is watch the live streams using vlc:

1280×780:
vlc “rtsp://<cemera-ip>:<port>/0/video0” –rtsp-tcp

640×480:
vlc “rtsp://<cemera-ip>:<port>/0/video1″ –rtsp-tcp

320×240:
vlc “rtsp://<cemera-ip>:<port>/0/video2″ –rtsp-tcp

 

These streams seem to be more reliable, even if they also stutter at times.

I’m now using gstreamer to view & record the streams, using these commands:

Viewing:

gst-launch-0.10 rtspsrc user-id=”XXXX” user-pw=”XXXX” location=”rtsp://<camera-ip>:<port>/0/video0″ protocols=”tcp” ! rtph264depay ! h264parse ! ffdec_h264 ! ffmpegcolorspace ! autovideosink

 

And to record:

gst-launch-0.10 -e rtspsrc user-id=”XXXX” user-pw=”XXXX” location=”rtsp://<camera-ip>:<port>/0/video0″ protocols=”tcp” ! rtph264depay ! h264parse ! mp4mux moov-recovery-file=”video.mrf” ! filesink location=”video.mp4″

I’m using gstreamer 0.10 and the -e flag, otherwise the file is not seekable.
Also I’m using the moov-recovery-file option, as the file will get corrupted if gstreamer creahes, or looses the connection to the feed.
By recording the moov-recovery-file we can afterwards repair the file, using this command:
gst-launch-1.0 qtmoovrecover recovery-input=path.mrf broken-input=moovie.mov fixed-output=recovered.mov