Skip to main content

Add your description here

Project description

CameraComander

A CLI application for creating time-lapse videos using a gphoto2 compatiable camera. So far only tested with a Canon EOS 6D2 and EOS R50 tethered (USB). The application allows you to configure camera settings utilizing a file which makes it easier to reproduce captures. Main function is to capture snapshots and start time lapse recordings, by continuously capturing images at a given interval. The images are saved to a folder and can be used to create a time-lapse videos, e.g. using ffmpeg.

Example settings.yaml

script_settings:
  interval: 10
  frames: 100

camera_settings:
  iso: 100
  aperture: 2.8
  shutter_speed: 1/60
  white_balance: auto

Example Workflow (timelapse)

  1. Connect Camera via USB
  2. Run cameracommander auto_adjust --save-settings to detect camera settings and save them to settings.yaml
  3. Modify settings.yaml to your needs
  4. Run cameracommander timelapse --settings-file path/to/settings.yaml to start a timelapse
  5. Use ffmpeg to create a video from the images

Here is one example result of a timelapse created with this tool without any post processing:

Example

Commands

The CLI provides several commands to interact with the camera. Below are some examples of how to use these commands.

Check Settings

Check the validity of a given settings.yaml file by applying it to the camera.

$ cameracommander check_settings --settings-file path/to/settings.yaml

List Settings

Show all possible camera settings and their keys.

$ cameracommander list_settings

List Available Values

Show all possible setting values for camera settings in the given settings.yaml.

$ cameracommander list_available_values --settings-file path/to/settings.yaml

Snapshot

Create a snapshot using the camera settings in a given settings.yaml.

$ cameracommander snapshot --settings-file path/to/settings.yaml

Timelapse

Start a timelapse using settings in settings.yaml.

$ cameracommander timelapse --settings-file path/to/settings.yaml

Auto Adjust

Take a snapshot with all auto settings and print the used camera settings. Optionally, save the detected settings to settings.yaml.

$ cameracommander auto_adjust [--save-settings] 

How to install

From Source, in a venv

This project uses uv as a package manager. So install it first -> https://docs.astral.sh/uv/getting-started/installation/)

Then:

$ git clone https://github.com/fwarmuth/CameraCommander.git
$ cd CameraCommander
$ uv run cameracommander --help

From PyPi

$ pip install cameracommander
$ cameracommander --help

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

cameracommander-0.1.1.tar.gz (393.1 kB view details)

Uploaded Source

Built Distribution

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

cameracommander-0.1.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file cameracommander-0.1.1.tar.gz.

File metadata

  • Download URL: cameracommander-0.1.1.tar.gz
  • Upload date:
  • Size: 393.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.4.26

File hashes

Hashes for cameracommander-0.1.1.tar.gz
Algorithm Hash digest
SHA256 348cb622f99e9b723ed6b35c9f40dfd47a90c3ce44ed7bc5886653aaf4159fae
MD5 f2635e155e66d8145e723da386701761
BLAKE2b-256 7fe1d9cb72eaf19566bd268170436622888d83012e4671f38610dbe6a54b810d

See more details on using hashes here.

File details

Details for the file cameracommander-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cameracommander-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d651a57dd9e2c2ad8b66646e094c45ac4a3e0a75b1a6ccb107a3002330d19141
MD5 277202369180ecc3974fcadfc68483d9
BLAKE2b-256 24c719bbfe13ed13a24bd205b6627e1334cc5e8b355bd7b0389b2f8530555ce7

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