# MIPI摄像头
***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.***
---
本文档详细介绍了 **Quectel Pi M1/L1** 智能主控板 **MIPI CSI** 摄像头接口的识别与连接方法,并提供了功能使用指导及常见问题解决方案。
## 支持配件
原始配件 **FPC** 排线并未连接相机,需要手动连接,注意连接时排线金手指朝向板内金属接触面(金手指面朝下),请避免接错排线导致相机损坏。连接排线后相机外观如下:
**IMX 219:**
```{image} images/image_KF95bPhKto9CfVx7vi2cvXwxnQg.webp
:width: 1053px
:height: 549px
:align: center
```
相机IMX 219外观
**IMX 477:**
```{image} images/image_YJuvbgzCpoZwQ5xmk5Dchmesngg.webp
:width: 1269px
:height: 648px
:align: center
```
相机IMX 477外观
## 硬件接口
**Quectel Pi M1/L1** 智能主控板共支持两路摄像头 **MIPI CSI** 接口,其接口位置与接口标号如下:
**M1 camera** 接口如下:
```{image} images/image_DFI7bFj3zop6vuxOLQZcWcxBnfQ.webp
:width: 1359px
:height: 888px
:align: center
```
M1 camera接口位置
**L1 camera** 接口如下:
```{image} images/image_MesfbBmYgoIogrxxgrxcPzhWnEc.webp
:width: 1021px
:height: 653px
:align: center
```
L1 camera接口位置
## 快速开始
1. 可按照下图连接摄像头,两款支持的相机配件可以根据需求任意连接在camera1/camera2。连接时向上拉开连接器的黑色锁扣部分,将 **FPC** 排线插入 **CSI** 卡槽,注意排线金手指朝向板内金属接触面(白色部分那一面),按下锁扣,确认 **FPC** 排线稳定没有松动。这里以 **M1** 为例,分别展示了相机 **imx 219** 和相机 **imx 477** 的连接方法,L1的连接方式也是一样。
```{image} images/image_StCQbQjM1o8d17xBRmfctOwXnyg.webp
:width: 940px
:height: 301px
:align: center
```
IMX 219连接M1 camera2的效果
```{image} images/image_L5fjbY4icojmG0xlMXYcQmdknRd.webp
:width: 753px
:height: 294px
:align: center
```
IMX 477连接M1 camera2的效果
2. 参考 [显示配置](<../../../操作系统/Android/显示配置/显示配置.md>) 连接显示屏
## M1 功能使用(gnome)
前提条件:
摄像头功能运行前需在终端输入以下命令
```bash
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
```
### 预览
1. 在设备终端运行以下命令
```bash
gst-launch-1.0 -e qtiqmmfsrc name=camsrc ! 'video/x-raw,format=NV12,width=1280,height=720,framerate=30/1' ! waylandsink
```
2. 此命令以 720p 30 FPS 配置启动相机,并将图像传到显示屏预览。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
3. 如果 2 个 CSI 卡槽同时插入 2 个摄像头,则用 camera=0/1 来区分,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽,例如打开第二个 CSI 卡槽摄像头,可输入以下命令:
```bash
gst-launch-1.0 qtiqmmfsrc camera=0 ! 'video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1' ! waylandsink
```
4. 如果要停止摄像头流,请按下CTRL+C
```{image} images/image_KQ7Pb6aP5o4KyUxIY8IcT6OHnGf.webp
:width: 1280px
:height: 800px
:align: center
```
gnome桌面摄像头界面
### 视频录制
1. 在设备终端运行以下命令:
```bash
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
```
2. 此命令以 720p 30 FPS 配置启动相机,并在 h264 视频编码后将其另存为视频文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
3. MP4文件保存在/tmp/目录下
4. 如果要停止摄像头录制,请按下CTRL+C
5. 可以输入以下命令播放视频文件
```bash
gst-launch-1.0 filesrc location=/tmp/video.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! avdec_h264 ! videoconvert ! waylandsink
```
### 拍照
1. 在设备终端运行以下命令:
```bash
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
```
2. 此命令以 1080p 30 FPS 配置启动相机,延时2秒后拍摄,并在 **JPEG** 视频编码后将其另存为图像文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
3. 图像文件保存在/tmp/目录下
4. 可以输入以下命令查看图片文件
```bash
gst-launch-1.0 filesrc location=/tmp/photo_20.jpg ! jpegdec ! imagefreeze ! waylandsink
```
### 双摄使用
如果接入了两个camera并且想同时使用,可参考下面的方式
1. 在设备终端运行以下命令:
```bash
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
```
2. 此命令以720p 30 FPS 配置启动相机,可以同时预览两个相机画面
3. 如果想使用画中画模式,可以在终端运行以下命令:
```bash
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
```
4. 如果要停止摄像头录制,请按下CTRL+C
## M1/L1 功能使用(weston)
前提条件:
摄像头功能运行前需在终端输入以下命令
```bash
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
```
### 预览
1. 在设备终端运行以下命令
```bash
gst-launch-1.0 -e qtiqmmfsrc name=camsrc ! 'video/x-raw,format=NV12,width=1280,height=720,framerate=30/1' ! waylandsink
```
2. 此命令以 720p 30 FPS 配置启动相机,分辨率根据自己需求调整,并将图像传到显示屏预览。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
3. 如果 2 个 CSI 卡槽同时插入 2 个摄像头,则用 camera=0/1 来区分,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽,例如打开第二个 CSI 卡槽摄像头,可输入以下命令:
```bash
gst-launch-1.0 qtiqmmfsrc camera=0 ! 'video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1' ! waylandsink
```
4. 如果要停止摄像头流,请按下CTRL+C
```{image} images/image_Jf6TbQiMoo01mqxQjItcOO8ynsl.webp
:width: 1280px
:height: 800px
:align: center
```
weston桌面摄像头界面
### 视频录制
1. 在设备终端运行以下命令:
```bash
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
```
2. 此命令以 720p 30 FPS 配置启动相机,并在 h264 视频编码后将其另存为视频文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
3. MP4文件保存在/tmp/目录下
4. 如果要停止摄像头录制,请按下CTRL+C
5. 可以输入以下命令播放视频文件
```bash
gst-launch-1.0 filesrc location=/tmp/video.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! avdec_h264 ! videoconvert ! waylandsink
```
### 拍照
1. 在设备终端运行以下命令:
```bash
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
```
2. 此命令以 1080p 30 FPS 配置启动相机,延时2秒后拍摄,并在 **JPEG** 视频编码后将其另存为图像文件。如果 gst 管道状态更改为 “PLAYING”,则表示摄像头正在运行
3. 图像文件保存在/tmp/目录下
4. 可以输入以下命令查看刚刚生成的图片文件,例如示例生成的图像名为photo_20.jpg
```bash
gst-launch-1.0 filesrc location=/tmp/photo_20.jpg ! jpegdec ! imagefreeze ! waylandsink
```
### 双摄使用
如果接入了两个camera并且想同时使用,可参考下面的方式
1. 在设备终端运行以下命令:
```bash
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
```
2. 此命令以720p 30 FPS 配置启动相机,可以同时预览两个相机画面
3. 如果想使用画中画模式,可以在终端运行以下命令:
```bash
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
```
4. 如果要停止摄像头录制,请按下CTRL+C