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 を再起動します。