Jetson RTSP 视频流推送到 QGroundControl
USB 相机 · GStreamer · MediaMTX · QGC 实时视频传输
USB Mono Camera GStreamer 编码 MediaMTX RTSP 服务器 QGroundControl 视频源 已验证 Jetson + Mac
目的
本文档介绍如何将 Jetson 上连接的 USB 相机通过 RTSP 推流到 QGroundControl (QGC) 地面站。
解决方案组件:
• USB Mono Camera
• GStreamer
• MediaMTX RTSP Server
• QGroundControl (QGC)
• USB Mono Camera
• GStreamer
• MediaMTX RTSP Server
• QGroundControl (QGC)
系统架构
USB Camera
↓
GStreamer
↓
MediaMTX
↓
RTSP Stream
↓
QGroundControl / VLC
相机设备(持久化路径)
不要使用
/dev/video0 或 /dev/video1,因为 Linux 重启后可能改变设备编号。
ls -l /dev/v4l/by-id/
使用完整路径:
/dev/v4l/by-id/usb-Generic_USB_Camera_200901010001-video-index0 MediaMTX 安装
cd ~
wget https://github.com/bluenviron/mediamtx/releases/download/v1.19.1/mediamtx_v1.19.1_linux_arm64.tar.gz
mkdir mediamtx
tar -xzf mediamtx_v1.19.1_linux_arm64.tar.gz -C mediamtx
cd ~/mediamtx./mediamtx
预期输出:
按
listener opened on:8554按
CTRL + C 停止。 安装 GStreamer RTSP 支持
sudo apt update
sudo apt install -y gstreamer1.0-rtsp
gst-inspect-1.0 rtspclientsink
确认
rtspclientsink 可用。 一键启动脚本
mkdir -p ~/scripts
nano ~/scripts/start_rtsp_qgc.sh
#!/bin/bash
echo "Starting MediaMTX..."
cd /home/drobotics/mediamtx./mediamtx > /tmp/mediamtx.log 2>&1 &
sleep 3
echo "Starting Camera Stream..."
gst-launch-1.0 -v \
v4l2src device=/dev/v4l/by-id/usb-Generic_USB_Camera_200901010001-video-index0 ! \
video/x-raw,width=640,height=480,framerate=30/1 ! \
videoconvert ! \
x264enc tune=zerolatency speed-preset=ultrafast bitrate=1500 key-int-max=15 byte-stream=true ! \
h264parse config-interval=1 ! \
rtspclientsink location=rtsp://127.0.0.1:8554/mono
chmod +x ~/scripts/start_rtsp_qgc.sh
脚本说明:
• 启动 MediaMTX RTSP 服务器(后台运行)
• 启动 GStreamer 从 USB 相机采集并推送到
• 启动 MediaMTX RTSP 服务器(后台运行)
• 启动 GStreamer 从 USB 相机采集并推送到
rtsp://127.0.0.1:8554/mono▶ 启动视频流
~/scripts/start_rtsp_qgc.sh
MediaMTX 启动 → GStreamer 开始推流 → RTSP 服务就绪
查看 Jetson IP 地址
hostname -I
示例:
192.168.1.17 VLC 测试(先验证 RTSP 流)
打开 VLC → 媒体 → 打开网络串流 → 输入:
rtsp://192.168.1.17:8554/mono
rtsp://192.168.1.17:8554/mono
视频正常显示后,再进行 QGC 配置。
QGroundControl 配置
操作路径:
应用程序设置 (Application Settings) → 通用 (General) → 视频 (Video)
应用程序设置 (Application Settings) → 通用 (General) → 视频 (Video)
rtsp://192.168.1.17:8554/mono配置后重启 QGC(如需要),进入 Fly View 查看视频画面。
停止视频流
pkill gst-launch-1.0
pkill mediamtx
或一次性停止:
pkill gst-launch-1.0; pkill mediamtx 故障排查
相机未找到
ls -l /dev/v4l/by-id/
确认相机设备路径存在并修正脚本中的
device= 路径。 RTSP 未工作
ps aux | grep mediamtx
ps aux | grep gst-launch
检查 MediaMTX 和 GStreamer 进程是否在运行。
VLC 可看但 QGC 无画面
1. 确认 RTSP URL 正确
2. 重启 QGC
3. 切换到 Fly View 检查
4. 确保 VLC 仍可显示流
2. 重启 QGC
3. 切换到 Fly View 检查
4. 确保 VLC 仍可显示流
最终工作配置
| 配置项 | 值 |
|---|---|
| 相机设备 | /dev/v4l/by-id/usb-Generic_USB_Camera_200901010001-video-index0 |
| RTSP URL | rtsp://JETSON_IP:8554/mono |
| 启动命令 | ~/scripts/start_rtsp_qgc.sh |
| 停止命令 | pkill gst-launch-1.0; pkill mediamtx |
已验证平台:Jetson (Ubuntu 22.04) · USB Mono Camera · MediaMTX · GStreamer · VLC (Mac) · QGroundControl (Mac)