Skip to main content

Add your description here

Project description

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:

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
 # for video 0 with resolution and mode
  pogucam  0 -f YUYV -r 1920x1080

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 switchreson command
    • Ctrl+X: send remote switchresoff 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 sendcommand with JSON data.
  • Local commands affect display or saving behavior.
  • Some commands print helpful info or ffmpeg usage hints.

MQTT

There are mqtt functionalities in development:

Raw Image sent to mqtt

Raw image means no distorion when YUYV mode is used. With the image to image/raw8000{.verbatim} topic (for now [2025-07-25 Fri]), other information is encoded and reported.

height, width = image.shape[:2]
header = struct.pack(
    '!HHQddIfff',
    width,
    height,
    int(framenumber),
    timestamp.timestamp(),
    recording_started.timestamp(),
    0,  # padding for alignment if needed
    float(exposition),
    float(gain),
    float(gamma)
)
payload = header + image.tobytes()

Accepting expo,gain,gamma commands

Not

Hanging on topics to display widgets

Not

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pogucam-0.1.22.tar.gz (896.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pogucam-0.1.22-py3-none-any.whl (41.7 kB view details)

Uploaded Python 3

File details

Details for the file pogucam-0.1.22.tar.gz.

File metadata

  • Download URL: pogucam-0.1.22.tar.gz
  • Upload date:
  • Size: 896.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for pogucam-0.1.22.tar.gz
Algorithm Hash digest
SHA256 e14b01b0fbb3947d90f04b7e0ce2fa91738b8318bbe859ac5834fbf1f64355b6
MD5 a7e3ff1379098a9fdbe7778c9dd9ddeb
BLAKE2b-256 7109b1b383557b83bb15ed2383352ef850197df0fd7e0162471beefea35b3300

See more details on using hashes here.

File details

Details for the file pogucam-0.1.22-py3-none-any.whl.

File metadata

  • Download URL: pogucam-0.1.22-py3-none-any.whl
  • Upload date:
  • Size: 41.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for pogucam-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 e9c8096847fd5fd8616e0937f62f7de2a040197dd3d2d6e30add97570005e6f5
MD5 c086775d5ccff56e606a766cc2effd4f
BLAKE2b-256 5dfd50210ca9a2ee216ad25be464afcf03b846e61a180a10b74b50bd2fff7cef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page