/photobooth

OpenSource Photobooth Webinterface

Primary LanguagePHPMIT LicenseMIT

Photobooth v4

A Photobooth web interface for Linux and Windows.

Photobooth was initially developped by Andre Rinas to use on a Raspberry Pi, you can find his source here.
In 2019 Andreas Blaesius picked up the work and continued to work on the source.
With the help of the community Photobooth grew to a powerfull Photobooth software with a lot of features and possibilities.

(The full changelog can be found on https://photoboothproject.github.io.)

Chat on Telegram

Translate on Crowdin

Latest stable release:
Lint gulp-sass Build

Latest development version:
Lint gulp-sass Build

😍 Features

  • Works on Windows and Linux.
    • Under Windows digiCamControl by Duka Istvan can be used to control the camera and to take pictures.
    • Under Linux gPhoto2 is used to control the camera and to take pictures.
  • Images are processed with GD.
  • Photobooth caches all generated QR-Codes, Thumbnails and Prints.
  • Gallery based on PhotoSwipe v5
  • Standalone Gallery based on PhotoSwipe v5 (localhost/gallery.php).
  • Standalone Slideshow based on PhotoSwipe v5 (localhost/slideshow).
  • Access login via localhost/login instead localhost/login.php.
  • Offline manual with settings explained at localhost/manual.
  • Offline FAQ at localhost/manual/faq.php.
  • Disk usage page, access via admin panel or directly at localhost/admin/diskusage.php.
  • Settings can be changed via Admin Panel at (localhost/admin):
    • Multi-language support:
    • Login to protect Admin Panel, Start page and/or Manual & FAQ can be enabled.
    • Hardware Button functionality, supports two separate modes of operation (select via admin panel):
      • Button Mode: Distinct hardware buttons can be connected to distinct GPIOs. Each button will trigger a separate functionality (i.e. take photo).
      • Rotary Mode: A rotary encoder connected to GPIOs will drive the input on the screen. This enables to use the rotary to scroll through the Photobooth UI buttons, and click to select actions.
    • Gallery: allow to adjust the look and feel (settings explained inside the manual).
    • Choose between date-formatted or random image names.
    • Choose an image filter after taking a picture.
    • QR-Code to allow downloading pictures from your Photobooth.
    • Pictures can be directly downloaded from the gallery.
    • Print feature:
      • Optional: Print a frame on your picture
      • Optional: Print text on your picture.
      • Optional: Print QR-Code on the right side of your picture.
      • Optional: Auto print function
      • Optional: allow to delay auto print
      • Optional: allow to adjust time "Started printing! Please wait..." is visible
      • Optional: allow to trigger print via defined key
      • Optional: options to show the print button independent (e.g. can be only visible on gallery)
    • Pictures can be sent via e-mail.
    • Different Live Preview options
    • Event specific (e.g. wedding, birthday) config to show a symbol (e.g. heart) between some text on the start page.
    • Chroma keying
    • Photo collage function: take pictures in a row with or without interruption and let it generate a collage out of it. Choose between different collage layouts!
    • Save pictures with a Polaroid effect.
    • Adjust take picture and print commands.
    • Adjust the style of Photobooth via admin panel.
  • ... And many more options to adjust and style Photobooth for your personal needs

📷 Screenshots

⚙️ Prerequisites

  • gphoto2, if used on Linux for DSLR control
  • digiCamControl, if used on Windows for DSLR control
  • Apache, NGINX or Lighttpd

🔧 Installation & Troubleshooting

Please follow the installation instructions here to setup Photobooth.

If you're having trouble or questions please take a look at our FAQ before opening a new issue.

For local testing and development, the docker setup can be used with docker-compose up --build.

🔍 Changelog

Please take a look at the changelog available on https://photoboothproject.github.io.

⚠️ Security advice

Photobooth is not hardened against any kind of targeted attacks. It uses user defined commands for tasks like taking photos and is allowed to replace its own files for easy updating. Because of this it's not advised to operate Photobooth in an untrusted network and you should absolutely not make Photobooth accessible through the internet without heavy modifications!

©️ License

Photobooth source is licensed under the MIT license.

Once build, Photobooth incorporates several parts and optimizations that are covered by a different license which could apply to Photobooth as well.
All dependencies include their respective LICENSE files.

🎉 Donation

If you like our work and consider a donation, we have to tell you that we don't accept any money. We're happy about every contribution to this project and strive to make it better every day. Just get in touch with us on Telegram to say thank you or help us find ways to improve.

If you still want to donate money to make us happy: consider a donation to an organization that cares about (kids having) cancer. Our lead developer Andreas had blood cancer in 2001 (when he was 12 years old) and he's happy to be still alive.

One good choice of an organisation to donate to would be the DKMS (they also accept donations via paypal), but any similar organisation would be fine, too.

Thanks for reading!

🎓 Tutorial

Raspberry Pi Weddingphotobooth (german)
Raspberry Pi Fotobox für Hochzeiten und Geburtstage (German)
Raspberry Pi Photobooth in a classic vintage plate camera

👏 Contributors and thanks to