第一个硬件项目¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
本章节以Quectel Pi开发套件支持的配件IMX219 摄像头作为例子,带您快速熟悉Quectel Pi的外设调试。
用 IMX219 摄像头拍第一张照片¶
如果您没有IMX219摄像头模块,可跳过此章节。更详细使用摄像头教程:MIPI摄像头
安装摄像头¶
关闭开发板电源。
找到板上标注为 CAM1 或 CAM2 的 MIPI CSI 排线接口。
将 IMX219 摄像头的排线金手指朝下,插入接口并扣紧卡扣。
重新上电启动。
注意:排线方向不可插反,金手指面朝电路板方向(朝下)。安装和拆卸排线时务必先断电。
GStreamer 管道命令简介¶
本章节使用 gst-launch-1.0 命令来控制摄像头的拍照、录像和预览。您只需复制后续章节中的命令即可完成操作,无需深入了解其原理。
这里简单介绍一下命令的结构,方便您理解每条命令在做什么:
gst-launch-1.0 是 GStreamer 多媒体框架的命令行工具,通过 ! 符号将多个处理步骤串联成一条 管道,数据从左到右依次流过。例如:
gst-launch-1.0 摄像头采集 ! 编码 ! 保存文件
本章中的命令都遵循这个模式:
拍照:从摄像头采集画面 → 编码为 JPEG 图片 → 保存到文件
录像:从摄像头采集画面 → 编码为 H.264 视频 → 封装为 MP4 → 保存到文件
查看图片/播放视频:读取文件 → 解码 → 在屏幕上显示
选择您的桌面环境¶
Quectel Pi 的 Debian 系统支持 Gnome 和 Weston 两种桌面环境。不同桌面环境下,摄像头的环境变量配置略有差异。请先阅读 操作系统 章节,了解您当前使用的桌面环境,然后根据以下对应的小节进行操作:
使用 Gnome 桌面 → 参见 控制摄像头(Gnome)
使用 Weston 桌面 → 参见 控制摄像头(Weston)
控制摄像头(Gnome)¶
摄像头可以拍照/录制成文件查看,也可以直接在显示屏桌面预览:
设置桌面环境变量¶
M1的Debian系统默认桌面是Gnome,复制下方命令行代码,在adb终端执行即可:
#如不在桌面上预览则不需要
#gnome桌面
export XDG_RUNTIME_DIR=/run/user/1007
export WAYLAND_DISPLAY=wayland-0
#weston
export XDG_RUNTIME_DIR=/run/user/root
export WAYLAND_DISPLAY=wayland-1
拍照¶
用 camera=0/1 来区分CSI卡槽所插入的摄像头,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽
在设备终端运行以下命令:
timeout 2 gst-launch-1.0 -e qtiqmmfsrc camera=1 \
! 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=photo_%d.jpg ! jpegdec ! imagefreeze ! waylandsink
录像¶
在设备终端运行以下命令:
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
控制摄像头(Weston)¶
设置桌面环境变量¶
摄像头功能运行前需在终端输入以下命令,复制下方命令行代码,在adb终端执行即可:
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
拍照¶
用 camera=0/1 来区分CSI卡槽所插入的摄像头,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽
在设备终端运行以下命令:
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
录像¶
在设备终端运行以下命令:
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