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 jpg artifacts 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.27.tar.gz (899.0 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.27-py3-none-any.whl (43.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pogucam-0.1.27.tar.gz
Algorithm Hash digest
SHA256 f3868de07409761aaa740b606634b6d77799b557f554e18d61f635bbea965411
MD5 600f42071569b38a94c38b585fcec915
BLAKE2b-256 4b2ae5d41ea153a0cd4f2d332cfd4f87831701f0547e1cd7d2352a5bddb630fb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pogucam-0.1.27-py3-none-any.whl
Algorithm Hash digest
SHA256 7add17ddb2e962110ee1c014237c466b0b96e62c0605a7ca1dbce50f7b301767
MD5 20b19afa03067b02ae0c16342a45cfe5
BLAKE2b-256 94983c56aebe9637c0eb5b4fefd747b8573e9bb76bca18a40de240fa1fa17584

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