bulat-icon  Articles & Case Studies  
 
 

[+]  Articles

 
     
   

See3CAM_130 Works On Embedded Platforms !

Introduction

 
e-con Systems is a leading Camera solutions supplier offering camera modules, camera drivers for Linux, Windows Embedded and Android, camera module customization, USB camera solutions etc. e-con's See3CAM family of USB 3.0 Camera solutions is very popular in the Industrial, consumer and medical applications.
 
The See3CAM family of USB 3.0 cameras are UVC compliant and don't need any special drivers to be installed on the PC or the host side. This is an important feature that enables the customers to use these UVC compliant cameras on almost any platform. The latest entry into the See3CAM series is the 13 Mega Pixel - Auto Focus UVC camera - See3CAM_130.
 
See3CAM_130 is based on AR1335 sensor from OnSemiconductor® that supports Ultra HD (3840x2160) at 30fps over USB3 in compressed MJPEG format. This See3CAM_130 camera board is also backward compatible with USB 2.0 as well. The 13MP camera has a dedicated, high-performance Image Signal Processor chip (ISP) that performs all the Auto functions (Auto White Balance, Auto Exposure control) in addition to complete image signal processing pipeline that provides best-in-class images, video and MJPEG compression.
 
See3CAM_130 is very versatile and can work in Embedded Platforms as well in both compressed and uncompressed formats. Being a UVC camera, It works on all Platforms with basic UVC drivers which is a standard in any Embedded platform with USB host.
 
    The below are the list of platform boards tested to support See3CAM_130,
  • Jetson TK1
  • Odroid XU
  • Propus eSOMTK1
 
All the above platforms are tested under their maximum performance capability optimized for rendering high data rates. The details on the test environment in each platform is given below,
 

Jetson TK1

 
Test Environment -
 
OS Ubuntu 14.04 - L4T R21.5
Kernel version 3.10.40
USB Host Firmware 2016-06-29
CPU 2065.5 MHz
GPU 852 MHz
Memory 924 MHz

Jetson TK1 Board

 
Test Application - GStreamer v0.10
 
UYVY:
 
gst-launch-0.10 v4l2src device=/dev/video0 alwaus-copy=false ! "video/x-raw-yuv, format=(fourcc)UYVY, width=(int)640, height=(int)480, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1, framerate=60/1" ! fpsdisplaysink sync=false
 
MJPEG:
 
gst-launch-0.10 v4l2src device=/dev/video0 alwaus-copy=false queue-size=5 ! "image/jpeg, width=(int)640, height=(int)480, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1" ! nvjpegdec ! fpsdisplaysink sync=false
 

Odroid XU

 
Test Environment -
 
OS Ubuntu 12.04.3
Kernel version 3.4.75
 
Test Application - GStreamer v0.10
 
UYVY:
 
For VGA, HD, FHD & UHD:
gst-launch-0.10 v4l2src device=/dev/video0 queue-size=10 always-copy=false ! "video/x-raw-yuv, format=(fourcc)UYVY, width=(int)640, height=(int)480, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)60/1" ! ffmpegcolorspace ! fpsdisplaysink sync=false -v
 
For 4K cinema & 13MP:
gst-launch-0.10 v4l2src device=/dev/video0 queue-size=10 always-copy=false ! "video/x-raw-yuv, format=(fourcc)UYVY, width=(int)4208, height=(int)3120, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)9/2" ! ffmpegcolorspace ! videocrop top=0 left=0 right=1920 bottom=1080 ! fpsdisplaysink sync=false -v
 
MJPEG:
 
For VGA, HD, FHD & UHD:
gst-launch-0.10 v4l2src device=/dev/video0 queue-size=10 always-copy=false ! 'image/jpeg, width=(int)640, height=(int)480, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' ! jpegdec ! ffmpegcolorspace ! fpsdisplaysink sync=false -v
 
For 4K cinema & 13MP:
gst-launch-0.10 v4l2src device=/dev/video0 queue-size=10 always-copy=false ! 'image/jpeg, width=(int)4096, height=(int)2160, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1' ! jpegdec ! ffmpegcolorspace ! videocrop top=0 left=0 right=1920 bottom=1080 ! fpsdisplaysink sync=false -v
 

Propus eSOMTK1

 
Test Environment -
 
OS V1.2 (Ubuntu 14.04 - L4T R21.4)
Kernel version 3.10.40
USB Host Firmware 2016-06-29
CPU 2218.5 MHz
GPU 396 MHz
Memory 792 MHz

Propus eSOMTK1 Board

 
Test Application - GStreamer v0.10
 
UYVY:
 
gst-launch-0.10 v4l2src device=/dev/video0 always-copy=false ! "video/x-raw-yuv, format=(fourcc)UYVY, width=(int)640, height=(int)480, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1, framerate=60/1" ! fpsdisplaysink sync=false
 
MJPEG:
 
gst-launch-0.10 v4l2src device=/dev/video0 always-copy=false queue-size=5 ! "image/jpeg, width=(int)640, height=(int)480, interlaced=(boolean)false, pixel-aspect-ratio=(fraction)1/1" ! nvjpegdec ! fpsdisplaysink sync=false
 
Out of all the Gstreamer commands specified, for switching between resolutions and frame rates, change the fields width, height and framerate in the respective commands.
 
The below list is the tested resolution - frame rate combination tested with the above platforms for USB 3.0.
 
Format Resolution Frame Rate From Camera (FPS) Frame Rate Rendered (FPS)
Jetson TK1 Odroid XU Propus eSOMTK1
UYVY VGA
(640 x 480)
120/1 120 80 120
60/1 60 59 60
HD
(1280 x 720)
30/1 29 29 29
FHD
(1920 x 1080)
30/1 29 18 26
4K UHD
(3840 x 2160)
15/2 (7.5) 7 7 7
4K Cinema
(4096 x 2160)
15/2 (7.5) 7 7 7
13 MP
(4208 x 3120)
9/2 (4.5) 4 3 4
MJPEG VGA 120/1 90 50 95
HD
(1280 x 720)
60/1 35 18 34
FHD
(1920 x 1080)
60/1 15 10 15
4K UHD
(3840 x 2160)
30/1 3 2 3
4K Cinema
(4096 x 2160)
30/1 4 2 3
13 MP
(4208 x 3120)
20/1 2 1 2
 
The Frames Per Second (FPS) in "Frame Rate Rendered" column is generally less than that in "Frame Rate From Camera" because, it includes color conversion + decompression over heads.
 
top-icon