Tag Archives: video

Review: SD_Card_DVR

I was looking for a low cost Digital Video Recorder to save footage in real-time from the FPV camera on my Bixler 2.  I wanted decent video quality at 480p and a device that didn’t display a blue screen during signal loss, which often occurs when pushing range with wireless video.  Two commonly mentioned DVRs specifically for FPV include the FJ-DVR-SD4 from FPV Japan and the SD DVR from Hobbyking, costing $154.95 and $48.49, respectively.  The FPV Japan unit includes a screen to preview footage, but even still, both devices seem overpriced for the low-tech function they provide.  Recording input from a composite video source is very much 20th century.

Inputs: Audio and Video in and out; 12V power

Inputs: Audio and Video in and out; 12V power

Enter the SD_Card_DVR, a no-brand device made in china and sold at various outlets under different names, including Dx.com (Mini Digital DVR Video Recorder w/ SD Slot), Amazon (Mini Sd Card Motion Detection Digital Video Recorder) and eBay (1 CH Mini CCTV Camera Audio/Video SD Card DVR).  There is also a blue-cased unit that likely runs the same firmware but uses combined A/V jacks instead of composite and a MicroSD slot instead of a full size.  Price for either is a more palatable $30-40.  Unfortunately, there were no reviews of this particular DVR to be found, so I decided to roll the dice and report my findings.

OSD

A simple on-screen display offers options to toggle between English and Chinese (default is Chinese; it’s the top menu item), NTSC or PAL recording, Recording mode (continuous, motion detection or mixed), and resolution (VGA or QVGA).  Menus are brought up with the function button, navigated with the rocker switch, and selected by pressing the rocker switch in – this took some trial and error to figure out – naturally, the supplied chinglish manual was of no help.

Controls and SD card slot

Controls and SD card slot

Once recording starts, the time is displayed for a few seconds, then there is an audible toggle and the video returns to pass-through mode, sending the signal straight through to the outputs without any change in quality.  Recording is still occurring when this happens, but in the “background” – this also took some figuring out.  The advantage of this is that there is no input lag – a must for FPV flying.

In my testing, I did notice that this DVR is rather sensitive to input voltage.  Specifically, if the voltage gets much below 12V (below about 11.5V, or 30% capacity), it will cease recording – and will even stop passing through video to the outputs.  If powering this with a battery, I’d use a high capacity 3S lipo and try to keep it above 50% capacity, or use a 4S lipo with a 12v step down board.

In continuous recording mode, the DVR will break up the recordings into 30 minute sections.  Once the SD card fills up, it will automatically erase the oldest file and replace it with the current recording – not really needed for my current task, but absolutely mandatory for video surveillance purposes.

Recording

There are two recording settings:VGA or QVGA, both encoded in MJPG.  These settings can be further refined, but you must do so by placing a properly-formatted “system.txt” file on the SD card.  That file should contain only 7 characters, for example: F15V0S9, where F = Framerate (0-30; default 15), V = video system (default 0 for PAL .. change to 1 for NTSC), and  S = sensitivity (0-9; default 9).  On the next boot, the new settings will be loaded and you can then delete the file.

Interestingly, the default 480p settings had the framerate set at 15fps.  Long story short, it is best to keep it there.  While you can increase it up to 30, the bitrate remains the same, resulting in a lower quality recording from attempting to encode twice the data without an increase in file size.  I found no way to adjust the bitrate, other than switching between VGA and QVGA.  Below is the file info for the 3 settings I tested (click to expand):

VGA: 640x480 (30fps)

Type: AVI
Video: MJPG 640×480 30fps [Stream 00] Audio: PCM 8000Hz mono 128kbps [Stream 01]

General
File name : 2013-07-04 00-36-46-C.AVI
Format : AVI
File size : 446 MiB
Duration : 14mn 11s
Overall bit rate : 4388 Kbps
Writing application : ankarec

Video
ID : 0
Format : JPEG
Codec ID : MJPG
Duration : 14mn 11s
Bit rate : 4254 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 30.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.462
Stream size : 432 MiB (97%)

Audio
ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 14mn 11s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 13.0 MiB (3%)
Interleave, duration : 500 ms (15.01 video frames)

VGA: 640x480 (15fps)

Type: AVI
Video: MJPG 640×480 15fps [Stream 00] Audio: PCM 8000Hz mono 128kbps [Stream 01]

General
File name : 2013-07-03 22-47-26-C.AVI
Format : AVI
File size : 492 MiB
Duration : 16mn 36s
Overall bit rate : 4144 Kbps
Writing application : ankarec

Video
ID : 0
Format : JPEG
Codec ID : MJPG
Bit rate : 4013 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.871
Stream size : 477 MiB (97%)

Audio
ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 16mn 36s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 15.2 MiB (3%)
Interleave, duration : 500 ms (7.50 video frames)

320x240 (15fps)

Type: AVI
Video: MJPG 320×240 15fps [Stream 00] Audio: PCM 8000Hz mono 128kbps [Stream 01]

General
File name : 2013-07-03 23-25-20-Q-C.AVI
Format : AVI
File size : 163 MiB
Duration : 11mn 0s
Overall bit rate : 2071 Kbps
Writing application : ankarec

Video
ID : 0
Format : JPEG
Codec ID : MJPG
Duration : 11mn 0s
Bit rate : 1940 Kbps
Width : 320 pixels
Height : 240 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 1.684
Stream size : 153 MiB (94%)

Audio
ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 11mn 0s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 10.1 MiB (6%)
Interleave, duration : 500 ms (7.50 video frames)

I uploaded a short recording to Youtube to exemplify the degraded quality when going from 15 to 30 fps:

Other features

Recording starts as soon as power is supplied to the device, and ends when it is disconnected.  There seems to be a capacitor inside that allows for a safe shutdown after power is removed and thereby avoiding file corruption.  The SD_Card_DVR handled both a generic-brand 8GB microSD card inside an adapter as well as a PNY 16GB SD card, both  formatted to FAT 32.

As I mentioned at the start, there is a blue version of this DVR that appears to be identical in all but the input connectors and microSD slot.  Unlike my unit, some enterprising merchant actually bothered to make a demo video for the blue one:

http://youtu.be/VPN42m3xtmo

Conclusion

The SD_Card_DVR proved itself a worthy addition to my FPV gear, and has faithfully been recording flights ever since:

I’m satisfied with the features and quality (at 15fps) of this DVR.  It certainly works well enough to help me trace down my plane if it should crash out of view.  For $30, I don’t think it can be beat, and the continuous loop recording is a great feature that is often annoyingly absent on similar cheap DVRs.  For $10-20 more, however, I think the HobbyKing DVR might be a better bet if quality is a priority – I’d imagine its performance at 30fps is superior, and it has a remote.

Android Dash-Cam DIY

Premise

The gadgets in my car have been through a number of iterations, from TomTom running on an old Windows Mobile 6 phone, to a full-fledged, Windows 7 based CarPC complete with touchscreen, GPS and Bluetooth OBD-II data monitoring.  These were fun projects, and may be worth a future post.  Sadly, each had a number of flaws, and have since been replaced with a much simpler android setup.

droid_dvr_profile

My current electronics suite: a Droid X and a Whistler XTR-150 Laser/Radar Detector

Having no better use for my retired Motorola Droid X, I decided to re-purpose it as a dedicated Car DVR after watching one too many YouTube videos involving Russian motor vehicle accidents.  Why does a former superpower dominate this genre of video clips?  Surprisingly, Russia does not top the statistics when it comes to fatal motor vehicle accidents (the Middle East seems to dominate that field) and while they place a respectable 4th in alcohol consumption per capita, this by itself doesn’t seem to explain the need for meticulous video record-keeping of one’s daily commute to work.

Of course, the reason most of us keep records usually has something to do with taxes and the law, and it is no different here.  Apparently, the legal atmosphere on Russia’s roads is very much one of guilty-until-proven-innocent.  With widespread corruption, hit-and-runs, and the general dearth of witnesses, the Dash-Cam is a technological last hope for innocent drivers who are tired of being taken advantage of by accident-staging and bullying.

http://www.youtube.com/watch?v=fA1ljLtL5Hs

Here in Michigan, its more just for fun – although you never know when having footage on hand may prove useful.  So, how do you turn an old android smartphone into an automated, HD-video-shooting piece of awesomeness?

Set-up

1) The phone.  Generally, any android phone will do for this, though you will want to be sure the camera placement is in a suitable location so as not to be blocked by the mount.  I’d aim for something that records in at least 720p, such as the Droid X, 1st-gen Galaxy S, or HTC Rhyme/Incredible/Desire.  A MicroSD slot is also highly recommended.

2) Get a mount.  I used this one from Arkon.  It is universal, cheap, and (aside from coming lose on a hot day), dependable.  This may be a better option, depending on where your camera is located.

droid_dvr_close

3) Time to go shopping…at the Play Store.  You’ll need DailyRoads Voyager (free) and Tasker ($6.49).  Optionally, you can add (all free) Orientation ControlNo Lock, MyTracks (and its Tasker plugin), and Quick Boot to log GPS tracks and keep the screen unlocked and in landscape mode.  Rooting your device will unlock some extra functionality with Tasker, but isn’t strictly necessary for the task at hand.

4) Power.  You need a power source from your car to charge the phone.  It must only supply power when the car is on (most outlets do this).  A cheap car adapter will do, or you can get a bit more creative and splice in the wiring so as to conceal the wiring and make things look more professional.

5) Configuration.  Set up DailyRoads to automatically record (I like 5min clips) when launched.  Make sure to go through the rest of the settings and tweak them to your needs and the capabilities of your device.  Ensure the GPS data is logged in .srt format, as this will allow it to be overlayed on the video as subtitles when playing back on your PC with VLC or similar.

For Tasker, you’ll need it to launch DailyRoads (and MyTracks) when the car is powered on (charging), and kill it when power is removed, as well as switch to airplane mode to conserve battery.  Tasker can be a bit daunting the first time you open it up, but there are many guides online that walk you through its array of functions.  In addition, I have shared my profiles here, an you may import and modify them to suit your purposes.

 

That’s it!  Your Android Dash-Cam will now start and stop recording in tune with your driving, no input required.

Issues

car_lower_dash Having had this setup running for a bit over a half of a year, my biggest issue remains that of battery life.  Despite the power savings afforded by Airplane mode, I still find myself having to charge the phone manually about once per week, especially in the winter.  Ideally, I’d just run a cable to the phone that is always powered by the car’s battery – the small drain shouldn’t pose a threat to the car.  However, the issue here is that Tasker depends on the charging status to know when you’re driving. One idea is to use the GPS to measure speed, and have that trigger Tasker.  In my set-up though, the GPS is turned off with the car to save power, and even if I were to leave it on, I’m not confident that it would reliably maintain a fix for days on end.

That leaves Bluetooth and Wi-Fi as the only other input options.  I’m thinking of using a Bluetooth device  powered by the car to trigger the event when it connects to the phone.  When the car turns off, it will lose power, disconnect, and thus Tasker will know to stop the recording.  I’ll try to give both these options a fair shot in the next few weeks, and will report back if successful.

Category: Technology | Tags: , , , , , , , ,