MX8 Basler Camera NXP

From Variscite Wiki


DART-MX8M-PLUS Basler Camera using native NXP support

Introduction

The following instructions will allow you to add support for the Basler MIPI camera to your Yocto images using the software modules already present in the Yocto BSP.
This will allow you to stream images/video from a Basler camera(s) connected to a Variscite evaluation kit.

Available cameras

Preparing Yocto to use the Basler camera

There is no need to build a special Yocto image. The default Yocto build, as installed from a standard recovery SD card, already supports the Basler camera.
The Yocto image supports the standard camera by default. In order to use the Basler camera an additional step is needed. Run the following commands at the shell prompt:

# cd /boot
# mv imx8mp-var-dart-dt8mcustomboard.dtb imx8mp-var-dart-dt8mcustomboard-ov5640.dtb
# mv imx8mp-var-dart-dt8mcustomboard-legacy.dtb imx8mp-var-dart-dt8mcustomboard-legacy-ov5640.dtb
# mv imx8mp-var-som-symphony.dtb imx8mp-var-som-symphony-ov5640.dtb
# ln -fs imx8mp-var-dart-dt8mcustomboard-basler-isp0.dtb imx8mp-var-dart-dt8mcustomboard.dtb
# ln -fs imx8mp-var-dart-dt8mcustomboard-legacy-basler-isp0.dtb imx8mp-var-dart-dt8mcustomboard-legacy.dtb
# ln -fs imx8mp-var-som-symphony-basler-isp0.dtb imx8mp-var-som-symphony.dtb

Running GStreamer

Run the following command at the shell prompt:

# gst-launch-1.0 -v v4l2src device=/dev/video2 ! waylandsink

On boards with 2 cameras you can use the 2nd camera by replacing /dev/video2 with /dev/video3 in the above command. Dual camera currently can only work on VAR-DT8MCustomBoard due to hardware limitations of Symphony board.
The following command will simultaneously record two video streams from both cameras:

# gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=100 ! video/x-raw,width=1920,height=1080 ! vpuenc_h264 ! avimux ! filesink location=./test0_h264.avi \
                 v4l2src device=/dev/video3 num-buffers=100 ! video/x-raw,width=1920,height=1080 ! vpuenc_h264 ! avimux ! filesink location=./test1_h264.avi