CamGo — CLI-Controlled Imaging System

Autonomous Imaging • FFmpeg • View-Only Web Feed

CamGo is a command-line–driven imaging controller designed for autonomous, non-interactive environments such as satellite payload cameras, remote sensors, and unattended imaging systems.

All camera control is performed exclusively via the CLI. The embedded web page and HTTP server exist solely to provide a passive, view-only camera feed for monitoring and verification.

CamGo does not act as a camera driver. All capture operations are delegated to FFmpeg. CamGo functions as a deterministic process coordinator with explicit execution and zero hidden behavior.

Version Information

Application: CamGo CLI
Version: 2.0.0
Author: K0NxT3D
Language: Go (single-file build)
Control Model: CLI only
Web Interface: View-only

Core Capabilities

📸 Snapshot Capture (CLI)

  • Single-frame capture via explicit command
  • Immediate device release after capture
  • Timestamped JPEG output
  • No background camera access

🎬 Timed Video Recording (CLI)

  • Fixed-duration recording in seconds or minutes
  • Single FFmpeg process per capture
  • Exclusive device access during recording
  • Clean process termination and finalized files

👁 View-Only Camera Feed (HTTP)

  • Passive single-frame MJPEG snapshots
  • No remote control surface
  • No authentication or mutation endpoints
  • Safe for monitoring only

Runtime Behavior Model

Startup

On startup, CamGo resolves the camera device and output directory, then optionally launches a view-only HTTP server. No camera hardware is accessed unless explicitly commanded via CLI flags.

Capture Execution

Snapshot and recording operations are executed immediately when invoked from the command line. Each invocation performs exactly one operation and exits unless the view server is running.

Monitoring

The web interface provides a passive image endpoint for verification and monitoring only. No capture, recording, or device control is exposed over HTTP.

CLI Usage

./camgo [options]

Capture Commands

./camgo -s
./camgo -s -out /path/to/output_dir/
./camgo-cli -s -device /dev/video2 -out /path/to/output_dir/
./camgo -r -t 30
./camgo -r -t 30 -headless -out /path/to/output_dir/
./camgo -r -T 2
./camgo -r -T 2 -headless -device /dev/video2 -out /path/to/output_dir

Options

Command Description
-s Capture snapshot
-r Record video
-t <sec> Recording duration in seconds
-T <min> Recording duration in minutes
-device <path> Video device
-out <dir> Output directory
-port <port> HTTP view port
-headless Disable browser launch
-v Version
-h Help

Design Principles

  • CLI-only control surface
  • No implicit camera access
  • No remote mutation
  • Single-file deployment
  • Deterministic, automation-safe behavior

Requirements

  • Linux system with V4L2 camera support
  • FFmpeg available in system PATH
  • Writable application directory

Disclaimer

CamGo is intended for autonomous and trusted environments. The HTTP endpoint is view-only and does not implement authentication or encryption. Operators are responsible for appropriate network isolation and legal compliance.

Metadata

Status: Stable

Control: CLI

Web Interface: View-Only

Capture Engine: FFmpeg

Platform: Linux

License: Private

Tags

CLI Camera Autonomous FFmpeg Linux Satellite