|Lukas Klinger 40458a7a7b||2 years ago|
|.github/ISSUE_TEMPLATE||5 years ago|
|photobooth||2 years ago|
|screenshots||5 years ago|
|supplementals||4 years ago|
|.gitignore||5 years ago|
|INSTALL.md||4 years ago|
|LICENSE.txt||5 years ago|
|MANIFEST.in||5 years ago|
|README.md||4 years ago|
|autostart.sh||5 years ago|
|setup.cfg||5 years ago|
|setup.py||4 years ago|
A flexible Photobooth software.
It supports many different camera models, the appearance can be adapted to your likings, and it runs on many different hardware setups.
This is a Python application to build your own photobooth.
- Capture a single or multiple pictures and assemble them in an m-by-n grid layout
- Live preview during countdown
- Store assembled pictures (and optionally the individual shots)
- Printing of captured pictures (via Qt printing module or pycups)
- Highly customizable via settings menu inside the graphical user interface
- Custom background for assembled pictures
- Ability to skip single pictures in the m-by-n grid (e.g., to include a logo in the background image)
- Support for external buttons and lamps via GPIO interface
- Rudimentary WebDAV upload functionality (saves pictures to WebDAV storage) and mailer feature (mails pictures to a fixed email address)
- Theming support using Qt stylesheets
Screenshots produced using
CameraDummy that produces unicolor images.
- Many camera models supported, thanks to interfaces to gPhoto2, OpenCV, Raspberry Pi camera module
- Tested on Standard x86 hardware and Raspberry Pi models 1B+, 2B, 3B, and 3B+
- Flexible, modular design: Easy to add features or customize the appearance
- Multi-threaded for responsive GUI and fast processing
- Based on Python 3, Pillow, and Qt5
I started this project for my own wedding in 2015. See Version 0.1 for the original version. Github user hackerb9 forked this version and added a print functionality. However, I was not happy with the original software design and the limited options provided by the previously used pygame GUI library and thus abandoned the original version. Since then it underwent a complete rewrite, with vastly improved performance and a much more modular and mature software design.
Installation and usage
- Some computer/SoC that is able to run Python 3.5+ as well as any of the supported camera libraries
- Camera supported by gPhoto 2 (see compatibility list), OpenCV (e.g., most standard webcams), or a Raspberry Pi Camera Module.
- Optional: External buttons and lamps (in combination with gpiozero-compatible hardware)
Installing and running the photobooth
See installation instructions.
Configuration and modifications
Default settings are stored in
defaults.cfg and can either be changed in the graphical user interface or by creating a file
photobooth.cfg in the top folder and overwriting your settings there.
The software design is very modular. Feel free to add new postprocessing components, a GUI based on some other library, etc.
Feedback and bugs
I appreciate any feedback or bug reports.
Please submit them via the Issue tracker and always include your
photobooth.log file (is created automatically in the top folder) and a description of your hardware and software setup.
I am also happy to hear any success stories! Feel free to submit them here.
If you find this application useful, please consider buying me a coffee.
I provide this code under AGPL v3. See LICENSE.