Review: Svpro 3D Camera - for Android and Raspberry Pi


I've been sent a 3D camera addon to review - the Svpro SV-2560X3D-001 is a £65 stereo camera designed for Android. It will also work with a Raspberry Pi!

It looks a little like a Microsoft Kinect - a single bar with two embedded cameras. The camera resolution is 720p on each lens.

You can buy the camera from Amazon UK.

3D camera clipped to a phone, sat in a tripod

It clips on easily to a phone via a padded screw clamp. You need to install a dedicate 3D camera app in order to make it work. In the box you get the camera, two USB-OTG cables, a tripod and clamp, and a carrying pouch.

Let's take it for a spin!

Sample shots

Video

As you can see, the 3D effect is prominent.

Video quality is 2560x720. Framerate is variable depending on how fast your phone is. My Nexus 6 managed just 16fps, my S6 got to the slightly better 25fps.

Because the cameras are independent, their exposure and white balance aren't linked. This also means that occasionally one camera may drop a frame or exhibit tearing - while the other side remains unaffected.

The cameras work best in bright light. Too much motion and the JPEG encoding can't keep up. You can stream raw YUYV video off the device - but you need to either lower the framerate or resolution if you want the USB bandwidth to be sufficient.

Audio is aac, 44100 Hz, mono, fltp, 67 kb/s
You don't get stereo sound, which is a little bit of a disappointment. There are no microphones in the unit - audio comes from your phone's mic. I've removed the audio from the above videos

3D metadata isn't embedded - this is needed for sites like YouTube to recognise them as 3D videos.

TV Playback

I uploaded a sample video to YouTube - which has native 3D support. I was able to stream the video to my smart TV and watch it using 3D glasses.

A smart TV is playing a 3D video on YouTube

Photo

The Svpro app doesn't let you take photos! A bizarre omission. I cheated and used the phone's screenshot tool to capture these. Click for full size.

3D shot of Terence Eden

3D photo of a river

App

Android doesn't natively support external cameras - so you need to download the Svpro app. It's basic - you can record video and play video. That's it!

No photo capabilities, no resolution or quality settings, no framerate control, no video editing or upload to YouTube.

Worse, the app in the Google Play Store doesn't support Android 7.0 - you need to download it directly from http://www.svpro.cc/app/.

I found that the app would not keep the screen on while I was recording. You may need to adjust your phone's display settings if you want to keep the screen active.

On the positive side, it doesn't ask for crazy permissions - although you will need to grant it USB access.

Screenshot of an Android app asking for USB permissions

There are other apps on the play store which you can use, which show how good the Svpro app could be. For example, this is USB Dual Camera:
Screenshot of an Android app displaying two cameras and a host of options

That's not a perfect app, but it gives you an idea of the potential.

The Svpro app also seems quite slow - which sometimes leads to disappointing video results.

Raspberry Pi Linux support

Although this camera isn't advertised as working on Linux, it is a USB camera - and it works brilliantly!

Running lsusb gives us:

Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 005: ID 0ac8:9902 Z-Star Microelectronics Corp. 
Bus 001 Device 006: ID 0ac8:9901 Z-Star Microelectronics Corp. 

So this is a USB hub with two cameras attached to it! It shows up as /dev/video0 and /dev/video1 - and both cameras work perfectly!

Screenshot of Ubuntu showing left and right images from 3D camera

It supports YUV 4:2:2 (YUYV) and MJPG for video capture and, pleasingly, each camera is 1280*720 native. No interpolation!

The Raspberry Pi website has a quick tutorial on capturing images.

You can capture the MJPG directly from the camera. This is the quickest and most efficient way to get 25fps video out of the device - although the filesize is rather large (5MB per second).

avconv -f video4linux2 -input_format mjpeg -i /dev/video0 -t 00:00:05 -c:v copy output.mkv

That will only capture from one of the twin cameras. How do we get both? Here's a lazy way to capture dual USB cameras simultaneously.

avconv -f video4linux2 -input_format mjpeg -i /dev/video0 -t 00:00:05 -c:v copy outputL.mkv & avconv -f video4linux2 -input_format mjpeg -i /dev/video1 -t 00:00:05 -c:v copy outputR.mkv

That worked on my Pi 2 Model B - I'll write a blog post soon explaining other ways to do this.

Technology

At the start of the decade, my mate Ket was building his own 3D cameras. Literally two cameras wired together and mounted next to each other.

Some self-build 3D cameras.

It's incredible to think how quickly technology has progressed. For £65 you get a lightweight (50g) and tiny (92mm * 20mm * 20mm) camera pairing. The distance between the cameras is almost identical to the distance between my pupils. The view angle on each lens is 100°. Perfect for stereoscopic viewing.

But pushing all that video over a USB cable is tough. A more practical design may be to place the video processing within the unit - rather than relying on the USB bandwidth and phone speed being sufficient.

Downsides

There are a few little niggles with the Svpro.

  • For phones, it is Android only. At the moment the USB OTG functionality only works with Android. So you iPhone users are out of luck.
  • Dedicated Android app needed. An app like this needs to be polished, professional, and a joy to use. It isn't.
  • 720p is fine for a cheap camera - and matches the resolution of most 3D displays - but a bigger resolution would be welcome.
  • Framerate should be higher - although this is partially a limitation of the speed of the USB transfer and of your phone.
  • No binaural sound. Audio is recorded from your phone's microphone, so there's no stereo effect.

Those are minor problems. The only other issue I found was that on some devices, it would capture BGR video - the red and blue channels swapped around. Which gave this weird effect:
Screenshot of a video with weird inverted coloursNo idea why - I reported it to Svpro and they're looking into it.

To correct it using Linux requires ffmpeg's filter colorchannelmixer

ffmpeg -i in.mp4 -vf colorchannelmixer=rr=0:rb=1:br=1:bb=0 -acodec copy out.mp4

Recording from the Pi didn't exhibit these problems.

Buy it

If you want to get started with 3D video - for playback on a Google Cardboard or other VR headset - this is a pretty good device. The app is basic, but the video quality is satisfactory if your phone is fast enough. The 3D effect is perfect. It's also a handy way to add stereo-vision to a Raspberry Pi robotics project.

3 thoughts on “Review: Svpro 3D Camera - for Android and Raspberry Pi

  1. I keep thinking about making my own dashcam with a Raspberry Pi, USB camera and a battery pack... Now I'm thinking with a 3D camera...Damn you! Would like to know what sort of power usage the setup would need.

    1. Oooh! Good plan! It said 1.2W on the box. It was running quite happily on a 2A charger, but I wasn't doing anything in the background.

  2. Nice review of the kit and affordable at £65! My camera kits all used a fork of the CHDK (Canon Hack Development Kit) called Stereo Data Maker. It was specifically designed to sync internal clocks between multiple cameras via USB, it unlocked some amazing camera features. Allowing for time lapse, motion detection.

    I love the the Raspberry Pi setup, that might be something i'd try out. I'm currently heading out on holiday with my FujiFIlm W3 - which has a micro HDMI output and stores images and videos as .mpo (side-by-side JPGs) The still camera quality is good, but video resolution and light sensitivity isn't that great. Playback / viewing on a 3DTV direct from the camera works really well. I also have a 3D auto-stereoscopic android tablet - pretty insane, the problem always seems to boil down to the software in these cases though. It is really awkward to use, but the results are stunning. Nice to see the kit get cheaper.

Leave a Reply

Your email address will not be published. Required fields are marked *