This application is an extension of a photobooth application by reuterbal. Some of the modifications include:
- Google Photos integration
- Ability to add alternate background
- Ability to add footer (think white bar at bottom of polaroid picture for text)
- Photo goes into /preprep/
- After photo gets assembled, moves all singles and assembled photo into /prep/
- Once in /prep/, an uploader thread uploads the picture to designated google photos album.
- Once uploaded, photo is moved to /archive/
- Set assembled_counter.txt and single_counter.txt in /photobooth/worker/ to 0 (open file, change number to 0, save) if you want a fresh start
Below is original documentation from reuterbal
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
- Printing of captured pictures
- Highly customizable via settings menu inside the graphical user interface
- Support for external buttons and lamps via GPIO interface
- 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.
- 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 GPIO-enabled hardware)
See installation instructions.
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.
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.