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)
- Connect Camera via USB
- Run
cameracommander auto_adjust --save-settingsto detect camera settings and save them tosettings.yaml - Modify
settings.yamlto your needs - Run
cameracommander timelapse --settings-file path/to/settings.yamlto start a timelapse - 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:
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
Metadata
Release files for cameracommander 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cameracommander-0.1.1.tar.gz | 393.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cameracommander-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 401.0 kB
Release files / cameracommander-0.1.1.tar.gz
| Download URL | cameracommander-0.1.1.tar.gz |
|---|---|
| Size | 393.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
348cb622f99e9b723ed6b35c9f40dfd47a90c3ce44ed7bc5886653aaf4159fae
|
|
BLAKE2b-256 checksum How to use checksums |
7fe1d9cb72eaf19566bd268170436622888d83012e4671f38610dbe6a54b810d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.4.26
|
Release files / cameracommander-0.1.1-py3-none-any.whl
| Download URL | cameracommander-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d651a57dd9e2c2ad8b66646e094c45ac4a3e0a75b1a6ccb107a3002330d19141
|
|
BLAKE2b-256 checksum How to use checksums |
24c719bbfe13ed13a24bd205b6627e1334cc5e8b355bd7b0389b2f8530555ce7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.4.26
|