Skip to main content

Photobooth app written in Python supporting DSLR, picamera2 and webcameras

Project description

photobooth-app logo

Written in Python 🐍, coming along with a modern Vue frontend.

PyPI python versions supported 3.9, 3.10, 3.11 rpi, linux and windows platform supported ruff pytest codecov

Installation - Documentation - PyPI package - 3d printed box

😍 Features

  • 📹 camera live preview with shortest delay as possible, permanent video live view in background
  • ⚡️ optimized for speed, live stream hardware accelerated on rpi, cpu load < 20%
  • 🫶 several camera backends supported for high quality stills and livestream
  • 💡 WLED support signaling photo countdown and feedback to the user when the photo is actually taken
  • 🤝 Linux 🐧, Raspberry Pi 🍓 and Windows 🪟 platforms supported

📷 Supported Cameras

The photobooth app's Python backend allows to use different camera types on Linux and Windows platforms:

  • Raspberry Pi Camera Module 1/2/3 (with or without autofocus)
  • Arducam cameras (with or without autofocus)
  • DSLR camera via
    • gphoto2, Linux
    • digicamcontrol, Windows (not yet implemented)
  • webcams (via opencv2 or v4l)

The app controls camera's autofocus, handles led signaling when a photo is taken and streams live video to photobooth.

The reference photobooth box is made from 3d printed parts, see the 3d printed reference box over here.

🛫 Speed Optimized

The photobooth app uses libraries optimized for speed. Even a Raspberry Pi 3B+ is fine to use. Typically the photobooth app takes following times to process data:

Task RPI 3B+ RPI 4B Intel i7
CPU load with picamera2 livestream and display ~20% ~20% <1%
Postprocess: scale images for preview <500ms <350ms <30ms
Postprocess: Stage "Remove Greenscreen" 130ms 90ms 20ms
Postprocess: Stage "Add Text" n/a n/a n/a
Postprocess: Stage "Apply Instagram-Like Filter" n/a <80ms <30ms

💅 Screenshots

Find screenshots in the documentation

🔧 Installation

See separate installation instructions in the documentation.

The photobooth app can be used standalone but is not feature complete yet. Anyway, it integrates well with the fully blown photobooth project, see description how to achieve integration.

📣 Changelog

see separate file: https://github.com/mgrl/photobooth-app/blob/main/CHANGELOG.md

©️ License

The software is licensed under the MIT license.

🎉 Donation

If you like my work and like to keep me motivated you can sponsor me:

Donate

Project details


Release history Release notifications | RSS feed

This version

0.9.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photobooth_app-0.9.1.tar.gz (8.8 MB view details)

Uploaded Source

Built Distribution

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

photobooth_app-0.9.1-py3-none-any.whl (8.9 MB view details)

Uploaded Python 3

File details

Details for the file photobooth_app-0.9.1.tar.gz.

File metadata

  • Download URL: photobooth_app-0.9.1.tar.gz
  • Upload date:
  • Size: 8.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for photobooth_app-0.9.1.tar.gz
Algorithm Hash digest
SHA256 748c1307f0796904187a1383f40d80c91675fbf83b798d85e299a453a8b94d76
MD5 5dc72bdc77a9c1a0ac0f6b8a6801b44a
BLAKE2b-256 a4f89608f599f32fce2bcad2950a38263639436d9ee9d2017b478149a1491381

See more details on using hashes here.

File details

Details for the file photobooth_app-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: photobooth_app-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 8.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for photobooth_app-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba375d699d79d47d8061da10b50ba70d5d5715f640bf55944067692f561d8fb9
MD5 2e4c28ec4d4b7448a5bd1b0c2ae34a05
BLAKE2b-256 fc9d1913132841f44fe3790e77d9757e170bda358c65eb88b27f31679fd8d400

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