MIPI摄像头¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
本文档详细介绍了 Quectel Pi M1/L1 智能主控板 MIPI CSI 摄像头接口的识别与连接方法,并提供了功能使用指导及常见问题解决方案。
支持配件¶
原始配件 FPC 排线并未连接相机,需要手动连接,注意连接时排线金手指朝向板内金属接触面(金手指面朝下),请避免接错排线导致相机损坏。连接排线后相机外观如下:
IMX 219:
IMX 477:
硬件接口¶
Quectel Pi M1/L1 智能主控板共支持两路摄像头 MIPI CSI 接口,其接口位置与接口标号如下:
M1 camera 接口如下:
L1 camera 接口如下:
快速开始¶
可按照下图连接摄像头,两款支持的相机配件可以根据需求任意连接在camera1/camera2。连接时向上拉开连接器的黑色锁扣部分,将 FPC 排线插入 CSI 卡槽,注意排线金手指朝向板内金属接触面(白色部分那一面),按下锁扣,确认 FPC 排线稳定没有松动。这里以 M1 为例,分别展示了相机 imx 219 和相机 imx 477 的连接方法,L1的连接方式也是一样。
参考 显示配置 连接显示屏
M1 功能使用(gnome)¶
前提条件:
摄像头功能运行前需在终端输入以下命令
bash
a=`find /run/user -maxdepth 2 -name 'wayland-?' 2>/dev/null`;
export XDG_RUNTIME_DIR=`dirname $a`
export WAYLAND_DISPLAY=`basename $a`
export LD_PRELOAD=/opt/qcom/lib/libgbm.so:$LD_PRELOAD
预览¶
在设备终端运行以下命令
gst-launch-1.0 -e qtiqmmfsrc name=camsrc ! 'video/x-raw,format=NV12,width=1280,height=720,framerate=30/1' ! waylandsink
此命令以 720p 30 FPS 配置启动相机,并将图像传到显示屏预览。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
如果 2 个 CSI 卡槽同时插入 2 个摄像头,则用 camera=0/1 来区分,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽,例如打开第二个 CSI 卡槽摄像头,可输入以下命令:
gst-launch-1.0 qtiqmmfsrc camera=0 ! 'video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1' ! waylandsink
如果要停止摄像头流,请按下CTRL+C
视频录制¶
在设备终端运行以下命令:
gst-launch-1.0 -e qtiqmmfsrc camera=0 \
! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 \
! qtic2venc ! h264parse ! mp4mux ! filesink location=/tmp/video.mp4
此命令以 720p 30 FPS 配置启动相机,并在 h264 视频编码后将其另存为视频文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
MP4文件保存在/tmp/目录下
如果要停止摄像头录制,请按下CTRL+C
可以输入以下命令播放视频文件
gst-launch-1.0 filesrc location=/tmp/video.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! avdec_h264 ! videoconvert ! waylandsink
拍照¶
在设备终端运行以下命令:
timeout 2 gst-launch-1.0 -e qtiqmmfsrc camera=0 \
! video/x-raw,format=NV12,width=1920,height=1080 \
! jpegenc ! multifilesink location=/tmp/photo_%d.jpg max-files=1
此命令以 1080p 30 FPS 配置启动相机,延时2秒后拍摄,并在 JPEG 视频编码后将其另存为图像文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
图像文件保存在/tmp/目录下
可以输入以下命令查看图片文件
gst-launch-1.0 filesrc location=/tmp/photo_20.jpg ! jpegdec ! imagefreeze ! waylandsink
双摄使用¶
如果接入了两个camera并且想同时使用,可参考下面的方式
在设备终端运行以下命令:
gst-launch-1.0 \
compositor name=comp \
sink_0::xpos=0 sink_0::ypos=0 \
sink_1::xpos=0 sink_1::ypos=720 \
! video/x-raw,width=1280,height=1440 ! waylandsink \
qtiqmmfsrc camera=0 ! video/x-raw,format=NV12,width=1280,height=720 ! comp.sink_0 \
qtiqmmfsrc camera=1 ! video/x-raw,format=NV12,width=1280,height=720 ! comp.sink_1
此命令以720p 30 FPS 配置启动相机,可以同时预览两个相机画面
如果想使用画中画模式,可以在终端运行以下命令:
gst-launch-1.0 \
compositor name=mix \
sink_0::xpos=0 sink_0::ypos=0 \
sink_1::xpos=640 sink_1::ypos=240 \
! queue max-size-buffers=3 ! videoconvert ! waylandsink sync=false \
qtiqmmfsrc camera=0 ! 'video/x-raw,format=NV12,width=1280,height=720,framerate=15/1' ! queue ! mix.sink_0 \
qtiqmmfsrc camera=1 ! 'video/x-raw,format=NV12,width=640,height=480,framerate=10/1' ! queue ! mix.sink_1
如果要停止摄像头录制,请按下CTRL+C
M1/L1 功能使用(weston)¶
前提条件:
摄像头功能运行前需在终端输入以下命令
bash
a=`find /run/user -maxdepth 2 -name 'wayland-?' 2>/dev/null`;
export XDG_RUNTIME_DIR=`dirname $a`
export WAYLAND_DISPLAY=`basename $a`
export LD_PRELOAD=/opt/qcom/lib/libgbm.so:$LD_PRELOAD
预览¶
在设备终端运行以下命令
gst-launch-1.0 -e qtiqmmfsrc name=camsrc ! 'video/x-raw,format=NV12,width=1280,height=720,framerate=30/1' ! waylandsink
此命令以 720p 30 FPS 配置启动相机,分辨率根据自己需求调整,并将图像传到显示屏预览。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
如果 2 个 CSI 卡槽同时插入 2 个摄像头,则用 camera=0/1 来区分,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽,例如打开第二个 CSI 卡槽摄像头,可输入以下命令:
gst-launch-1.0 qtiqmmfsrc camera=0 ! 'video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1' ! waylandsink
如果要停止摄像头流,请按下CTRL+C
视频录制¶
在设备终端运行以下命令:
gst-launch-1.0 -e qtiqmmfsrc camera=0 \
! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 \
! qtic2venc ! h264parse ! mp4mux ! filesink location=/tmp/video.mp4
此命令以 720p 30 FPS 配置启动相机,并在 h264 视频编码后将其另存为视频文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
MP4文件保存在/tmp/目录下
如果要停止摄像头录制,请按下CTRL+C
可以输入以下命令播放视频文件
gst-launch-1.0 filesrc location=/tmp/video.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! avdec_h264 ! videoconvert ! waylandsink
拍照¶
在设备终端运行以下命令:
timeout 2 gst-launch-1.0 -e qtiqmmfsrc camera=0 \
! video/x-raw,format=NV12,width=1920,height=1080 \
! jpegenc ! multifilesink location=/tmp/photo_%d.jpg max-files=1
此命令以 1080p 30 FPS 配置启动相机,延时2秒后拍摄,并在 JPEG 视频编码后将其另存为图像文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
图像文件保存在/tmp/目录下
可以输入以下命令查看刚刚生成的图片文件,例如示例生成的图像名为photo_20.jpg
gst-launch-1.0 filesrc location=/tmp/photo_20.jpg ! jpegdec ! imagefreeze ! waylandsink
双摄使用¶
如果接入了两个camera并且想同时使用,可参考下面的方式
在设备终端运行以下命令:
gst-launch-1.0 \
compositor name=comp \
sink_0::xpos=0 sink_0::ypos=0 \
sink_1::xpos=0 sink_1::ypos=720 \
! video/x-raw,width=1280,height=1440 ! waylandsink \
qtiqmmfsrc camera=0 ! video/x-raw,format=NV12,width=1280,height=720 ! comp.sink_0 \
qtiqmmfsrc camera=1 ! video/x-raw,format=NV12,width=1280,height=720 ! comp.sink_1
此命令以720p 30 FPS 配置启动相机,可以同时预览两个相机画面
如果想使用画中画模式,可以在终端运行以下命令:
gst-launch-1.0 \
compositor name=mix \
sink_0::xpos=0 sink_0::ypos=0 \
sink_1::xpos=640 sink_1::ypos=240 \
! queue max-size-buffers=3 ! videoconvert ! waylandsink sync=false \
qtiqmmfsrc camera=0 ! 'video/x-raw,format=NV12,width=1280,height=720,framerate=15/1' ! queue ! mix.sink_0 \
qtiqmmfsrc camera=1 ! 'video/x-raw,format=NV12,width=640,height=480,framerate=10/1' ! queue ! mix.sink_1
如果要停止摄像头录制,请按下CTRL+C