
* pogucam - Poor Guy Camera

** Overview
pogucam is a simple camera utility that can read JPEG streams from an IP address, capture video from a local video device, or experimentally receive images from a local MQTT server.

** Input Sources
- JPEG stream from IP address (default port 8000)
- Video device at /dev/videoX (default 0)
- Experimental: image topic from local MQTT server 'image/raw8000'

** Running pogucam

Run pogucam from the command line with the following syntax:

#+BEGIN_EXAMPLE
pogucam [URL] [-r RESOLUTION] [-f FOURCC]

Arguments:
  URL           IP address or device path (default: 127.0.0.1)

Options:
  -r, --resolution RESOLUTION   Set resolution (default: 640x480)
  -f, --fourcc FOURCC           Set pixel format: YUYV or MJPG (default: YUYV)

Examples:
  pogucam 192.168.1.10 -r 800x600 -f MJPG
  pogucam /dev/video0
#+END_EXAMPLE

** Keypress Commands Summary

- S: Save image
  - S: save one image
  - Shift+S: toggle saving all images
  - Ctrl+Shift+S: toggle saving JPG format
  - Alt+S: toggle saving FITS only
- X: Switch resolution / extend image
  - X: toggle local 2x image extend
  - Shift+X: send remote switch_res_on command
  - Ctrl+X: send remote switch_res_off command
- P: Toggle print text overlays
  - P: toggle terminal text
  - Shift+P: toggle overlay text
- E: Adjust exposure (remote)
  - E: increase exposure
  - Shift+E: decrease exposure
  - Ctrl+E: reset exposure
- G: Adjust gain (remote)
  - G: increase gain
  - Shift+G: decrease gain
  - Ctrl+G: reset gain
- Y: Adjust gamma (remote)
  - Y: increase gamma
  - Shift+Y: decrease gamma
  - Ctrl+Y: reset gamma
- D: Adjust local gamma
  - D: increase gamma
  - Shift+D: decrease gamma
  - Ctrl+D: reset gamma
- W: Open web browser to URL (local)
- Z: Zoom (local)
  - Z: zoom in
  - Shift+Z: zoom out
  - Ctrl+Z: reset zoom
- H, J, K, L: Move red cross (local) or send remote commands with Ctrl+Shift
- V: Toggle green cross (remote)
- C: Toggle red cross (local)
- I: Integrate accumulate (local/remote)
  - I: increase integration
  - Shift+I: decrease integration
  - Ctrl+I: reset integration
  - Ctrl+Shift+I: toggle show accumulation buffer
  - Alt+I: toggle accumulation display mode (avg/sum)
- B: Background image operations (local/remote)
- F: Foreground image operations (local)
- R: Rotate image (local)
- 1,2,3,4: Load/save configurations
- T: Test commands and timelapse (local/remote)
- A: Timelapse control (local)
- Esc or Q: Quit application

** Notes
- Remote commands are sent via send_command with JSON data.
- Local commands affect display or saving behavior.
- Some commands print helpful info or ffmpeg usage hints.
