This document mainly introduces the usage of IMX585 MIPI Camera.
The reverse connection will damage the camera, please check the connection of the picture carefully before connecting.
Edge2 CAM3 support 4K@60fps record. If your hardware version is V13 or later, the CAM2 also can support 4K@60fps record.
Check Hardware Version
$ cat /proc/cmdline
V13 or later version will show like hwver=EDGE2.V13
.
Due to the different hardware versions, CAM2 is set to 4K@30fps by default. This is for compatibility with V11 or V12 hardware versions to
ensure proper operation. If your device supports 4K@60fps, you can enable this mode by adding an overlay node cam2-4lane
.
Edit /boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env
to setup fdt_overlays=cam2-4lane
.
You need to reboot the device to take effect.
Please follow the documentation to upgrade your system to latest version.
You can find the video nodes from the table below.
Video Node | |
---|---|
CAM1 | /dev/video42 |
CAM2 | /dev/video33 |
CAM3 | /dev/video51 |
Record video from CAM1
:
gst-launch-1.0 v4l2src device=/dev/video42 io-mode=dmabuf min-buffers=64 num-buffers=300 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video42.mp4
Record video from CAM2
:
gst-launch-1.0 v4l2src device=/dev/video33 io-mode=dmabuf min-buffers=64 num-buffers=300 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video33.mp4
For 4K@60fps, framerate should be set 60/1
Record video from CAM3
:
gst-launch-1.0 v4l2src device=/dev/video51 io-mode=dmabuf min-buffers=64 num-buffers=600 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=60/1 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video51.mp4
Follow the steps below to install v4l-utils
:
sudo apt update sudo apt install v4l-utils
Capture frame from CAM1
:
v4l2-ctl -d /dev/video42 --set-fmt-video=width=3840,height=2160,pixelformat=NV12 --stream-mmap=3 --stream-skip=3 --stream-to=/tmp/data42.yuv --stream-count=1 --stream-poll
Capture frame from CAM2
:
v4l2-ctl -d /dev/video33 --set-fmt-video=width=3840,height=2160,pixelformat=NV12 --stream-mmap=3 --stream-skip=3 --stream-to=/tmp/data33.yuv --stream-count=1 --stream-poll
Capture frame from CAM3
:
v4l2-ctl -d /dev/video51 --set-fmt-video=width=3840,height=2160,pixelformat=NV12 --stream-mmap=3 --stream-skip=3 --stream-to=/tmp/data51.yuv --stream-count=1 --stream-poll
It will capture a 3840×2160 NV12
format frame to file /tmp/dataXX.yuv
.
Preview the file:
$ ffplay -f rawvideo -pixel_format nv12 -video_size 3840x2160 /tmp/dataXX.yuv
For hardware version V11, V12, and V13 without adding cam2-4lane
overlay node, connect 3 cameras:
Frame rate | |
---|---|
CAM1 | 4K@20fps |
CAM2 | 4K@25fps |
CAM3 | 4K@60fps |
For hardware version V13 with adding cam2-4lane
overlay node, connect 3 cameras:
Frame rate | |
---|---|
CAM1 | 4K@15fps |
CAM2 | 4K@30fps |
CAM3 | 4K@60fps |
For hardware version V13 with adding cam2-4lane
overlay node, connect 2 cameras to camera3 and camera2 interfaces:
Frame rate | |
---|---|
CAM2 | 4K@60fps |
CAM3 | 4K@60fps |