Khadas Docs

Amazing Khadas, always amazes you!

User Tools

Site Tools


products:sbc:edge2:add-ons:edge2-mipi-camera

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:sbc:edge2:add-ons:edge2-mipi-camera [2024/10/29 05:38]
jacobe
products:sbc:edge2:add-ons:edge2-mipi-camera [2024/12/18 20:43] (current)
gray [Record Video with Gstreamer] Update record command to reach 4k@60fps
Line 4: Line 4:
 ====== Edge2 MIPI Camera Usage ====== ====== Edge2 MIPI Camera Usage ======
  
-Edge2 CAM3 support **4K@60fps** record. If your **hardware version is V13**, the **CAM2** also can support **4K@60fps** record. + 
 +===== Linux ===== 
 + 
 +<WRAP important > 
 + 
 +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** **Check Hardware Version**
-```+```shell
 $ cat /proc/cmdline $ cat /proc/cmdline
 ``` ```
-V13 will show like ''hwver=EDGE2.V13''+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 non-V13 hardware versions to ensure proper operation. If your device supports 4K@60fps, you can enable this mode by adding an overlay file. +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''.
-$ sudo vi /boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env +
-fdt_overlays=cam2-4lane +
-```+
  
-===== Linux ===== 
  
-==== Upgrade System ====+Edit ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env'' to setup ''fdt_overlays=cam2-4lane''.
  
-Please follow the [[products:sbc:edge2:configurations:upgrade-system|documentation ]]to upgrade your system to latest version.+About IMX585 and IMX678, the two cameras were disabled by default. So V11 or V12 hardware version should replace ''cam2-4lane'' by ''imx585'' or ''imx678'':
  
-==== Video Node ====+Edit ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env'' to setup ''fdt_overlays=imx585'' or ''fdt_overlays=imx678''.
  
  
-You can find the video nodes from the table below.+V13 or later hardware version should be set ''imx585-cam2-4lane'' or ''imx678-cam2-4lane'':
  
-|        ^  Video Node(5.10.66)    ^  Video Node(5.10.160 and later)   ^ +Edit ''/boot/dtb/rockchip/rk3588s-khadas-edge2.dtb.overlay.env'' to setup ''fdt_overlays=imx585-cam2-4lane'' or ''fdt_overlays=imx678-cam2-4lane''.
-^  CAM1  |  /dev/video33  |  /dev/video42 +
-^  CAM2  |  /dev/video24  |  /dev/video33 +
-^  CAM3  |  /dev/video42  |  /dev/video51  |+
  
-==== Record Video with Gstreamer ====+You need to reboot the device to take effect.
  
-<tabbox kernel 5.10.66>+</WRAP>
  
-Record video from ''CAM1'': 
  
-```shell +==== Upgrade System ====
-gst-launch-1.0 v4l2src device=/dev/video33 io-mode=dmabuf num-buffers=300 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video33.mp4 +
-```+
  
-Record video from ''CAM2'':+Please follow the [[products:sbc:edge2:configurations:upgrade-system|documentation ]]to upgrade your system to latest version.
  
-```shell +==== Video Node ====
-gst-launch-1.0 v4l2src device=/dev/video24 io-mode=dmabuf num-buffers=300 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video24.mp4 +
-```+
  
-Record video from ''CAM3'': 
  
-```shell +You can find the video nodes from the table below. 
-gst-launch-1.0 v4l2src device=/dev/video42 io-mode=dmabuf num-buffers=300 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video42.mp4 + 
-```+|        ^  Video Node    ^ 
 +^  CAM1  |  /dev/video42  | 
 +^  CAM2  |  /dev/video33  | 
 +^  CAM3  |  /dev/video51 
 + 
 +==== Record Video with Gstreamer ====
  
-<tabbox Other version> 
  
 Record video from ''CAM1'': Record video from ''CAM1'':
  
 ```shell ```shell
-gst-launch-1.0 v4l2src device=/dev/video42 io-mode=dmabuf num-buffers=300 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video42.mp4+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
 ``` ```
  
Line 67: Line 63:
  
 ```shell ```shell
-gst-launch-1.0 v4l2src device=/dev/video33 io-mode=dmabuf num-buffers=300 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video33.mp4+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 For 4K@60fps, framerate should be set 60/1
Line 74: Line 70:
  
 ```shell ```shell
-gst-launch-1.0 v4l2src device=/dev/video51 io-mode=dmabuf num-buffers=600 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=60/1 ! mpph264enc ! h264parse ! qtmux ! filesink location=/tmp/video51.mp4+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
 ``` ```
-</tabbox> 
  
 /* /*
Line 166: Line 161:
 sudo apt install v4l-utils sudo apt install v4l-utils
 ``` ```
- 
-<tabbox kernel 5.10.66> 
- 
-Capture frame from ''CAM1'': 
- 
-```shell 
-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 ''CAM2'': 
- 
-```shell 
-v4l2-ctl -d /dev/video24 --set-fmt-video=width=3840,height=2160,pixelformat=NV12 --stream-mmap=3 --stream-skip=3 --stream-to=/tmp/data24.yuv --stream-count=1 --stream-poll 
-``` 
- 
-Capture frame from ''CAM3'': 
- 
-```shell 
-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 
-``` 
- 
-<tabbox Other version> 
  
 Capture frame from ''CAM1'': Capture frame from ''CAM1'':
Line 206: Line 179:
 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 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
 ``` ```
- 
-</tabbox> 
  
 It will capture a ''3840x2160 NV12'' format frame to file ''/tmp/dataXX.yuv''. It will capture a ''3840x2160 NV12'' format frame to file ''/tmp/dataXX.yuv''.
Last modified: 2024/10/29 05:38 by jacobe