As you may have heard, Raspberry Pi 4, the latest version of the popular low-cost development board, has been launched with USB 3.0 camera support. What this means is that you will be able to leverage Raspberry Pi 4 to maximize the performance of the See3CAM series of USB 3.0 cameras by e-Con Systems™.
Since previous versions of the Raspberry Pi boards only had USB 2.0 support, they were unable to harness the full capabilities of our See3CAM series. We also received many queries regarding the support for the 4K USB 3.0 camera support for RPi4. Now, you can unlock the end-to-end potential of our See3CAM series and RPi4 to enable high-quality image capturing/storing, as well as undisrupted audio and video streaming.
e-con Systems™ has designed cameras that support up to 13MP resolution, based on OnSemi’s AR1335 Image sensor. AR1335 is a top-rated 1/3.2-inch CMOS active-pixel digital image sensor with a pixel array of 4208H x 3120V. The AR1335 digital image sensor is driven by 1.1µm pixel BSI technology, which delivers exceptional quality images.
We also provide two USB variants of AR1335 camera – Auto Focus and Custom lens.
In-built Image Signal Processor
Both these cameras have a dedicated, high-performance Image Signal Processor chip (ISP) for performing AAA functions (Auto White Balance, Auto Exposure, Auto Focus). It also completes the Image Signal Processing pipeline for providing world-class images and videos in uncompressed UYVY and compressed MJPEG formats. You also have access to a wide range of controls such as Brightness, Contrast, Exposure, White Balance, etc.
Our See3CAM family comprises UVC-compliant USB 3.0 cameras that support Plug-and-Play interfaces. They work with standard USB Video Class drivers that are supported by Linux and Windows Operating systems. Our USB 3.0 cameras are also compatible with USB 2.0 ports. Hence, you do not have to install any additional drivers to use the cameras.
Standard Lens Mount variant – support for a wide variety of lenses
The S-Mount (M12) Lens holder for our USB 3.0 cameras support different types of lenses for various FOV, Aperture, Focal Length, etc. The M12 lenses are available with a low field of view to more than 200-degree field of view. The latter is also a cost-effective solution.
By using off-the-shelf cameras, your customers can deploy them in the field, without spending much time for calibration and validation.
Envision success with See3CAM_130 and RPi4
Let us now look into the performance and usage of our popular 4K autofocus camera – See3CAM_130, the 13MP USB 3.0 Autofocus Camera with Raspberry Pi 4.
|Host||Raspberry Pi 4|
|OS||Raspbian 10 (buster)|
The applications used in this test scenario are:
Streaming and recording capabilities:
Install the v4l-utils applications from the using the following command:
$ sudo apt-get install v4l-utils
$ v4l2-ctl –set-fmt-video=width=3840,height=2160,pixelformat=UYVY –stream-mmap
$ v4l2-ctl –set-fmt-video=width=3840,height=2160,pixelformat=MJPG –stream-mmap
UYVY – VGA:
$ gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw, format=(string)UYVY, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)120/1” ! videoconvert ! fpsdisplaysink sync=false -v
UYVY – 4K (3840 x 2160):
$ gst-launch-1.0 v4l2src device=/dev/video0 ! “video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/2” ! videoconvert ! fpsdisplaysink sync=false -v
$ gst-launch-1.0 v4l2src device=/dev/video0 ! “image/jpeg, width=3840, height=2160, framerate=30/1” ! jpegdec ! fpsdisplaysink video-sink=xvimagesink sync=false -v
The Gstreamer application has preview window to stream the camera, with a software decoder for MJPG frames. So, the frame rate achieved for higher resolutions is lesser than what we get from v4l2-ctl. The observation for the supported resolutions is listed below:
Install fswebcam using the following command:
$ sudo apt-get install fswebcam
$ fswebcam -r 3840×2160 –no-banner test_4k.jpg
Network streaming using “motion”:
Install the motion application using the following command:
$ sudo apt-get install motion
To change various parameters, we need to modify the configuration file of this application.
Take a backup of the original configuration file before proceeding with the following steps:
$ sudo nano /etc/motion/motion.conf
NOTE: If the config is in the same folder from where the application is launched, then the app shall use the local config file instead of the “/etc/motion/motion.conf”
Modify the following parameters to test supported resolutions and save the configuration file:
– width (modify it with the supported width (e.g.) 640)
– height (modify it with the supported width (e.g.) 480)
– framerate (valid range: 2 to 100)
– stream_localhost (Set the value to ‘off’, to allow the camera streaming to other computer in same network)
Run the application by using the following command:
$ sudo motion
Open any browser and enter the following IP in the address bar from the same device or any device connected to the network:
<IP Address of RPi4>:8081
In the following example, we received the camera stream from the Raspberry Pi4 board with IP address “192.168.137.171” in a PC.
Readily available camera hardware, highly stable camera driver with V4L2 compatibility,
and cutting-edge sample applications. These are some of the advantages that enable your customers to start working on the application and business logic – right from day one.