Singapore parenting, practical reviews and tech notes

Fitbit disappoints. Looking for alternative.

I got my first Fitbit Flex (Gen 1) in 2014 and used it for almost 2 years until April 2016 when I decided to upgrade for a few reasons

  • I got really sick of changing the bands. Each band, even the original ones, lasted me an average of 3 months before cracking and splitting.
  • I wanted that Heart-rate monitor feature badly

So fast forward to April 2016, I threw the still-functioning Fitbit Flex aside and got myself a Fitbit Charge HR (Gen 1). I love the heart rate detection feature as it allows me to track my heart rate when I have my rare jogs or when I feel unwell.

In July 2016, barely 3 months after the purchase, my Fitbit Charge HR started peeling at the bangs and the band got bloated. A few days later, it became non-responsive and cannot be powered on again. Dead.

fitbit1

I contacted Fitbit Support and sent them this photo as per their request (Nice right? I just bought a lightbox back then and happened to be in the mood of taking photos in the light box)

There was much back and forth between Support and me and I got pretty frustrated because they were asking me one question per email and each email took several days to get a response from them.

Finally, they agreed to ship a replacement to me – all the way from the U.S. Luckily, it didn’t take too long (a week+) for me to get the replacement. It took an entire month (till August) before I could close the matter with them.

Fast forward to December 2016. Despite extra care taken by me (and almost zero instance of exercising with the band -_-), the bangs started peeling again and the bloating happened too. I discovered that the skin of the band was glued onto an inner band and adhesion doesn’t last more than a couple of months with daily removal of the band (it’s stupidly not waterproof enough to even wear into the shower).

fitbit2

I raised a ticket with them in January 2017 and this time round, they wanted me to take a photo of the band with a piece of paper with handwritten date and a case number that they have just issued to me.

As you can see from the image, the bloating is quite bad on this one. I requested for them to issue me a store credit so that I can order a different (more expensive) model that may not fail on me so often. No matter how I explained about the frustration that I had to go through due to the product flaw, they refused to obliged. They insisted to send me a replacement Fitibt Charge HR again. I’m obviously less than pleased.

I am now looking around for a new fitness / wellness band. I do hope I can find a band that looks decent and can do more than just telling me about my heart rate. Maybe one day, I can measure my blood pressure without using my clunky Omron machine. Just maybe.

Anyway, good bye Fitbit. Thanks but no thanks.

Recording IP Camera Footages onto NAS or local storage

In my previous post, I shared about my overhaul of IP Cameras in my home. I ditched the 3 cheap D-Link DCS-930L and went for 2  D-Link DCS-5222L IP Cameras. One great feature of this camera is the ability to do RTSP streams. Cheaper IP Cameras usually stream in Motion-JPEG format which I personally find the quality crappy and may not have the audio stream available.

After a few days of research, I concluded that I need to get a camera that streams H.264 via RTSP so that I can capture them natively as mp4 files. D-Link DCS-5222L does that and the price was pretty reasonable for its RTSP support, 720p resolution, PTZ feature and good viewing angle. The hardest thing to do is to choose software that will:

  • Stream from the cameras via command line
  • Dump the video stream as H.264 Mp4 files
  • Save the audio stream in the same file container
  • Segment the footages at my chosen interval with appropriate file naming
  • Reasonably crash-resilient (I’ll explain why later)

I’ve tried many off-the-shelf products and the best one out there appears to be Webcam 7 Pro. It is reasonably stable but captures mainly MJPEG streams only without audio. It does a good job segmenting files and you can even make it auto delete footages that are X days old. Enough of this lest I sound like I’m promoting the software.

I found that VLC is a good candidate as it has robust command line features and can be used to relay a media stream as a fresh broadcast or dump a stream to file with real-time transcoding i.e. you can transcode a H.264 stream into a mpeg file for storage (but you don’t want to do that of course because mpeg files are larger). The problem with VLC that I face is that it crashes easily and that seems to be a bug which caused a stream to be decoded to some raw format causing my disk space to fill up overnight. In the end, I use VLC as a monitoring tool as I can easily launch the RTSP stream by passing the IP Camera URL, port, credentials and the fullscreen parameters via command line.

Here’s how I did it for my camera:

vlc rtsp://admin:[password]@[ip address]:[port]/live1.sdp –fullscreen

Remember to replace [password], [ip address] and [port] with your own values.

Moving on to the next candidate, FFmpeg. 

FFmpeg has been around for many years and many video conversion / broadcasting software including VLC make use of components from FFmpeg! As mentioned above, I needed something that can save both video and audio streams, segment files (so that you don’t get a huge 100GB file after a few weeks) and be able to use timestamps as the filename.

After tinkering for a day or two, I decided that this will work for me:

start “Door Cam” “ffmpeg.exe” -i rtsp://admin:[password]@[ip address]/live1.sdp -c copy -map 0 -f segment -segment_atclocktime 1 -strftime 1 -segment_time 1800 -segment_format mp4 -vcodec copy -acodec aac -strict experimental -ab 64k “.\Recordings\DoorCam-%%Y-%%m-%%d_%%H%%M.mp4”

The above command (yes I know it probably contain redundant flags because I whippped this up with much trial and error) will:

  • start reading the video and audio stream as defined in the SDP file of my D-Link DCS-5222L
  • copy the video stream “as-is” and convert the audio (from PCM mu-law) to AAC @ 64Kbps and mux them into a mp4 container
  • segment the files (chop up the files every 1800 seconds (30 minutes)
  • synchronise the next segment on the clock (i.e. 12:30pm, 1pm, 1:30pm, etc)
  • Give each segment a meaningful filename (e.g. DoorCam-2016-12-4_1030.mp4)

The results:

door-cam
Don’t worry about the errors. It happens a lot with live streaming devices such as an IP Camera

cam_pic

And of course, if you mapped your NAS to your operating system, FFmpeg can dump the files there.

That’s it for now!

 

Home Surveillance overhaul with D-Link DCS-5222L

D-Link DCS-5222L

Got two D-Link DCS-5222L IP Cameras from Lazada to replace my old D-Link DCS-930L (3 of them). I was a fan of cheap IP Cameras and was always telling people how I can monitor my home for under $100. However, as time passes by, I am no longer satisfied with the poor field of view offered by cheap IP Cameras. As an interim solution, I even bought wide angle lenses meant for Smart Phones and mounted them on the D-Link DCS-930L using adhesives or magnetically.

D-Link DCS-930L with self mounted wide angle lens bought separately.
D-Link DCS-930L with self mounted wide angle lens bought separately.

Here’s how one of the 3 look like:

Even with the wide angle lens, I wasn’t satisfied.I did not mount the cameras securely so a slight knock will tip the cameras off the surface and I spent quite a bit of time looking for the fallen lenses.

I decided that enough was enough. I took the plunge and went for the D-Link DCS-5222L which is a PTZ IP Camera with wide angle lens built-in. The IR LEDs were also immensely useful. No more pitch black videos in my NAS at night!

Another feature I look to the D-Link DCS-5222L is the availability of RTSP streams. This allows me to:

  1. Use VLC to easily launch the RTSP stream on any computer for quick viewing or monitoring
  2. Use FFMPEG to record the RTSP stream onto my NAS or local disk. I know VLC can do the same but after much tries, FFMPEG appears to handle errors from the live streams without crashing so easily.

In my next post, I will talk about how I use VLC and FFMPEG to build my own command line IP Camera recording and viewing.

Cheers!