三、摄像头
1. CSI摄像头
尽量避免带电操作,接入CSI摄像头时注意FPC排线金属触点一面朝下
1.1 使用gst-launch打开摄像头
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,format=(string)NV12, framerate=(fraction)30/1" ! nvvidconv ! xvimagesink sync=false
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! "video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,format=(string)NV12, framerate=(fraction)30/1" ! nvvidconv ! xvimagesink sync=false #打开另一个命令行窗口运行
-
sensor-id:指定摄像头物理接口 ID,双摄使用
sensor-id=0
和sensor-id=1
。 -
memory:使用 NVIDIA GPU 内存(NVMM),减少延迟。
-
width, height:设置分辨率,需硬件支持,例如 1080p。
-
format:像素格式为
NV12
(NVIDIA 编码器原生支持)。 -
framerate:设置帧率,例如
30/1
(30 FPS)。 -
sync:
false
禁用音视频同步,减少延迟。
1.2 使用nvgstcapture打开摄像头
您可以使用以下指令测试摄像头是否正常工作
nvgstcapture-1.0
以下指令可以将输出的画面翻转180°
nvgstcapture-1.0 --orientation 2
当您有多个摄像头时也可以使用以下指令调用指定摄像头。
sudo nvgstcapture --cap-dev-node 0
更详细的说明可参考NVIDIA Developer
2. USB摄像头
接入USB摄像头后,您可以使用以下指令查看现有摄像头的编号。
jetson@jetson-desktop:~$ ls /dev/video*
/dev/video0 /dev/video1
sudo apt install cheese
将USB摄像头连接至开发板USB接口,并打开cheese软件
您也仍然可以使用nvgstcapture来打开USB摄像头
sudo nvgstcapture --cap-dev-node 0