GoCam 摄像头服务
GoCam 是 FLYOS-FAST v1.4.0 测试版新增的摄像头服务,适用于支持 UVC 协议的免驱 USB 摄像头。它可以提供实时视频流、单帧快照和摄像头参数管理页面。
GoCam 目前仅在 FLYOS-FAST v1.4.0 测试版镜像中确认。v1.3.10 正式版及不包含 GoCam 的平台镜像请继续使用 Crowsnest。
启用 GoCam
GoCam 与 Crowsnest 应二选一使用。如果两项同时设置为 1,系统会优先启动 Crowsnest,GoCam 不会生效。
在 FlyOS-Conf/config.txt 中设置:
crowsnest=0
gocam=1
保存后重新启动上位机。配置文件修改方法请参考 FLYOS-FAST 系统配置指南。
首次连接或更换摄像头前,请完全关闭打印机并断开电源供应。不要在通电状态下插拔摄像头线束或整理接口。
将支持 UVC 的免驱 USB 摄像头连接到上位机 USB 接口,然后重新通电。
打开 GoCam 管理页面
GoCam 默认使用 8080 端口。在与上位机相同的局域网内访问:
http://设备IP:8080
管理页面提供以下功能:
- 实时查看摄像头画面。
- 查看摄像头支持的格式、分辨率和帧率。
- 复制视频流和快照地址。
- 调整摄像头实际支持的 UVC 参数。
不同摄像头暴露的参数不同,页面只显示当前摄像头支持且可以修改的项目,例如亮度、电源频率、对焦或曝光。调整参数后会立即应用到摄像头;确认效果后点击 Save to config,才能在服务重启后继续使用该设置。
视频流和快照地址
| 用途 | 推荐地址 |
|---|---|
| 实时视频流 | http://设备IP:8080/?action=stream |
| 单帧快照 | http://设备IP:8080/snapshot |
| 上位机本机快照 | http://localhost:8080/snapshot |
GoCam 同时兼容 /stream、/?action=snapshot 和 /webcam/?action=... 等地址。新配置应优先使用上表中的地址,避免沿用其他摄像头服务的路径造成插件兼容问题。
延迟摄影配置
GoCam 模式下,moonraker.conf 的延迟摄影快照地址应设置为:
[timelapse]
output_path: /usr/share/printer_data/timelapse/
snapshoturl: http://localhost:8080/snapshot
frame_path: /tmp/timelapse
修改后重启 Moonraker。完整操作请参考 延迟摄影功能。
如果延迟摄影没有生成帧图片,请首先检查 snapshoturl。GoCam 推荐直接使用 /snapshot;不要未经验证直接保留 Crowsnest 的旧快照地址。
配置文件
GoCam 的服务配置位于:
/usr/share/printer_data/config/gocam.conf
默认参考配置如下:
[cam 1]
port: 8080
device: /dev/video1
resolution: 1920x1080
max_fps: 30
quality: 5
# v4l2ctl: focus_automatic_continuous=0,focus_absolute=70
# ffmpeg_flags: -fflags nobuffer -flags low_delay
| 参数 | v1.4.0 镜像默认值 | 说明 |
|---|---|---|
port | 8080 | 当前摄像头服务端口 |
device | /dev/video1 | 摄像头设备节点;优先使用 /dev/v4l/by-id/... 下的固定路径 |
resolution | 1920x1080 | 摄像头实际支持的分辨率 |
max_fps | 30 | 最大帧率 |
quality | 5 | MJPEG 质量,取值范围为 1 至 31 |
v4l2ctl | 未设置 | 可选的 UVC 参数;管理页面保存的参数会写入此项 |
ffmpeg_flags | 未设置 | 可选的 FFmpeg 参数 |
状态检查与故障排查
通过 SSH 执行:
systemctl status gocam --no-pager
查看最近的服务日志:
tail -n 100 /usr/share/printer_data/logs/gocam.log
常见问题:
- 页面无法访问:确认
gocam=1、crowsnest=0,并检查8080端口是否被其他服务占用。 - 页面显示无信号:检查
device是否指向当前摄像头,并确认分辨率和帧率受摄像头支持。 - 重启后参数丢失:实时调整后还需要点击 Save to config。
- 延迟摄影没有图片:将
snapshoturl改为http://localhost:8080/snapshot,再重启 Moonraker。