pibooth: "Oops something wrong happens" when trying to take a photo on Fullscreen Pibooth
Hi everybody, i’m trying to use Pibooth to make a photobooth for a wedding on 16th of October but i’m having some issues right now. It’s very important to me to have something that work fine especially on this wedding day that’s why i’m requesting your help.
I can use Pibooth fine with a window size Pibooth but each time i try to use Pibooth in full size there is the “Oops something wrong happens” screen before the countdown to take the picture.
I’m using a Raspberry Pi 4 4gb with a raspberry pi camera V1 and a Canon EOS 700D with le latest version of Pibooth. For now the screen i’m using is my 4K TV as a testing setup with HDMI connection to the raspberry
Here is my config file :
[GENERAL]
# User interface language: 'de', 'dk', 'en', 'es', 'fr', 'hu', 'nl' or 'no'
language = fr
# Path to save pictures (list of quoted paths accepted)
directory = ~/Pictures/pibooth/test
# Start pibooth at Raspberry Pi startup
autostart = True
# In debug mode, exceptions are not caught, logs are more verbose, pictures are cleared at startup
debug = False
# Path to custom plugin(s) not installed with pip (list of quoted paths accepted)
plugins =
# Plugin names to be disabled after startup (list of quoted names accepted)
plugins_disabled = ('pibooth_sound_effects',)
# Enable a virtual keyboard in the settings interface
vkeyboard = False
[WINDOW]
# The (width, height) of the display window or 'fullscreen'
size = (800, 480)
# Background RGB color or image path
background = (0, 0, 0)
# Text RGB color
text_color = (255, 255, 255)
# Blinking background when a capture is taken
flash = False
# Animate the last taken picture by displaying captures one by one
animate = False
# How long is displayed the capture in seconds before switching to the next one
animate_delay = 0.2
# On 'finish' state: how long is displayed the final picture in seconds (0 if never shown)
finish_picture_delay = 5
# On 'wait' state: how long is displayed the final picture in seconds before being hidden (-1 if never hidden)
wait_picture_delay = -1
# How long is displayed the 'chosen' state: (0 if never shown)
chosen_delay = 4
# Show arrows to indicate physical buttons: 'bottom', 'top', 'hidden' or 'touchscreen'
arrows = hidden
# Apply horizontal offset to arrows position
arrows_x_offset = 0
# How long is the preview in seconds
preview_delay = 3
# Show a countdown timer during the preview
preview_countdown = True
# Stop the preview before taking the capture
preview_stop_on_capture = False
[PICTURE]
# Orientation of the final picture: 'auto', 'portrait' or 'landscape'
orientation = auto
# Possible choice(s) of captures numbers (numbers between 1 to 4)
captures = (4, 1)
# Effect applied to the captures (list of quoted names accepted)
captures_effects = none
# Crop each capture border in order to fit the paper size
captures_cropping = False
# Thick (in pixels) between captures and picture borders/texts
margin_thick = 100
# Main text displayed
footer_text1 = ""
# Secondary text displayed
footer_text2 = ""
# RGB colors used for footer texts (list of tuples accepted)
text_colors = (0, 0, 0)
# Fonts name or file path used for footer texts (list of quoted names accepted)
text_fonts = ('Amatic-Bold', 'AmaticSC-Regular')
# Alignments used for footer texts: 'left', 'center' or 'right' (list of quoted names accepted)
text_alignments = center
# Overlay path (PNG file) with same aspect ratio than final picture (list of quoted paths accepted)
overlays =
# Background RGB color or image path (list of tuples or quoted paths accepted)
backgrounds = (255, 255, 255)
[CAMERA]
# Adjust ISO for lighting issues, can be different for preview and capture (list of integers accepted)
iso = 100
# Flip horizontally the capture
flip = False
# Rotation of the camera: 0, 90, 180 or 270, can be different for preview and capture (list of integers accepted)
rotation = 0
# Resolution for camera captures (preview will have same aspect ratio)
resolution = (1920, 1080)
# Delete captures from camera internal memory (when applicable)
delete_internal_memory = False
[PRINTER]
# Name of the printer defined in CUPS (or use the 'default' one)
printer_name = default
# Print options passed to the printer, shall be a valid Python dictionary
printer_options = {}
# How long is the print view in seconds (0 to skip it)
printer_delay = 0
# Number of pages automatically sent to the printer (or use 'max' to reach max duplicate)
auto_print = 0
# Maximum number of printed pages before warning on paper/ink levels (-1 = infinite)
max_pages = -1
# Maximum number of duplicate pages sent to the printer (avoid paper waste)
max_duplicates = 3
# Print 1, 2, 3 or 4 picture copies per page
pictures_per_page = 1
[CONTROLS]
# How long to press a single hardware button in seconds
debounce_delay = 0.3
# How long to press multiple hardware buttons in seconds
multi_press_delay = 0.5
# Physical GPIO IN pin to take a picture
picture_btn_pin = 11
# Physical GPIO OUT pin to light a LED when picture button is pressed
picture_led_pin = 7
# Physical GPIO IN pin to print a picture
print_btn_pin = 13
# Physical GPIO OUT pin to light a LED when print button is pressed
print_led_pin = 15
And here are the logs i had from the pibooth.log file :
[ INFO ] pibooth : Installed plugins: sound-effects-0.0.3
[ INFO ] pibooth : Starting the photo booth application on Raspberry pi 4B
[ DEBUG ] pibooth : Fallback to pibooth default camera management system
[ DEBUG ] pibooth : Found gPhoto2 cameras on ports: 'usb:001,003'
[ INFO ] pibooth : Configuring hybrid camera (Picamera + gPhoto2) ...
[ DEBUG ] pibooth : Getting option actions/viewfinder=2
[ DEBUG ] pibooth : Setting option imgsettings/iso=100
[ WARNING ] pibooth : Invalid value '100' for option iso (possible choices: ['Auto']), trying to set it anyway
[ DEBUG ] pibooth.gphoto2 : ptp_usb_getresp [usb.c:514]: PTP_OC 0x9110 receiving resp failed: PTP Device Busy (0x2019)
[ DEBUG ] pibooth.gphoto2 : _set_config [config.c:9128]: 'ptp_canon_eos_setdevicepropvalue (params, cursub->propid, &propval, cursub->type)' failed: PTP Device Busy (0x2019)
[ DEBUG ] pibooth.gphoto2 : gp_context_error: The property 'ISO Speed' / 0xd103 was not set (0x2019: PTP Device Busy).
[ DEBUG ] pibooth.gphoto2 : gp_camera_set_config [gphoto2-camera.c:1115]: 'camera->functions->set_config (camera, window, context)' failed: -110
[ ERROR ] pibooth : Unsupported option imgsettings/iso=100 ([-110] I/O in progress), configure your DSLR manually
[ DEBUG ] pibooth : Setting option settings/capturetarget=Memory card
[ INFO ] pibooth : Connected to printer 'Canon_MG3600_series_Printer_(Copie_3)_via_VNC_de_DESKTOP-BJ2KF54'
[ DEBUG ] pibooth : Activate state 'wait'
[ DEBUG ] pibooth : Activate state 'choose'
[ INFO ] pibooth : Show picture choice (nothing selected)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'IHDR' 16 13
[ DEBUG ] PIL.PngImagePlugin: STREAM b'iCCP' 41 388
[ DEBUG ] PIL.PngImagePlugin: iCCP profile name b'ICC profile'
[ DEBUG ] PIL.PngImagePlugin: Compression method 0
[ DEBUG ] PIL.PngImagePlugin: STREAM b'bKGD' 441 6
[ DEBUG ] PIL.PngImagePlugin: b'bKGD' 441 6 (unknown)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'pHYs' 459 9
[ DEBUG ] PIL.PngImagePlugin: STREAM b'tIME' 480 7
[ DEBUG ] PIL.PngImagePlugin: b'tIME' 480 7 (unknown)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'tEXt' 499 25
[ DEBUG ] PIL.PngImagePlugin: STREAM b'IDAT' 536 8192
[ DEBUG ] PIL.PngImagePlugin: STREAM b'IHDR' 16 13
[ DEBUG ] PIL.PngImagePlugin: STREAM b'iCCP' 41 388
[ DEBUG ] PIL.PngImagePlugin: iCCP profile name b'ICC profile'
[ DEBUG ] PIL.PngImagePlugin: Compression method 0
[ DEBUG ] PIL.PngImagePlugin: STREAM b'bKGD' 441 6
[ DEBUG ] PIL.PngImagePlugin: b'bKGD' 441 6 (unknown)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'pHYs' 459 9
[ DEBUG ] PIL.PngImagePlugin: STREAM b'tIME' 480 7
[ DEBUG ] PIL.PngImagePlugin: b'tIME' 480 7 (unknown)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'tEXt' 499 25
[ DEBUG ] PIL.PngImagePlugin: STREAM b'IDAT' 536 8192
[ DEBUG ] pibooth : took 0.932 seconds
[ DEBUG ] pibooth : Activate state 'chosen'
[ INFO ] pibooth : Show picture choice (4 captures selected)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'IHDR' 16 13
[ DEBUG ] PIL.PngImagePlugin: STREAM b'iCCP' 41 388
[ DEBUG ] PIL.PngImagePlugin: iCCP profile name b'ICC profile'
[ DEBUG ] PIL.PngImagePlugin: Compression method 0
[ DEBUG ] PIL.PngImagePlugin: STREAM b'bKGD' 441 6
[ DEBUG ] PIL.PngImagePlugin: b'bKGD' 441 6 (unknown)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'pHYs' 459 9
[ DEBUG ] PIL.PngImagePlugin: STREAM b'tIME' 480 7
[ DEBUG ] PIL.PngImagePlugin: b'tIME' 480 7 (unknown)
[ DEBUG ] PIL.PngImagePlugin: STREAM b'tEXt' 499 25
[ DEBUG ] PIL.PngImagePlugin: STREAM b'IDAT' 536 8192
[ DEBUG ] pibooth : took 0.439 seconds
[ DEBUG ] pibooth : Activate state 'preview'
[ INFO ] pibooth : Show preview before next capture
[ ERROR ] pibooth : failed to negotiate port format: Argument is invalid
[ DEBUG ] pibooth : Back to failsafe state due to error:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/pibooth/states.py", line 91, in set_state
hook(cfg=self.cfg, app=self.app, win=self.win)
File "/usr/local/lib/python3.7/dist-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/usr/local/lib/python3.7/dist-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/usr/local/lib/python3.7/dist-packages/pluggy/manager.py", line 337, in traced_hookexec
return outcome.get_result()
File "/usr/local/lib/python3.7/dist-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/local/lib/python3.7/dist-packages/pluggy/callers.py", line 52, in from_call
result = func()
File "/usr/local/lib/python3.7/dist-packages/pluggy/manager.py", line 335, in <lambda>
outcome = _Result.from_call(lambda: oldcall(hook, hook_impls, kwargs))
File "/usr/local/lib/python3.7/dist-packages/pluggy/manager.py", line 87, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/usr/local/lib/python3.7/dist-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/usr/local/lib/python3.7/dist-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/usr/local/lib/python3.7/dist-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/usr/local/lib/python3.7/dist-packages/pibooth/plugins/camera_plugin.py", line 69, in state_preview_enter
app.camera.preview(win)
File "/usr/local/lib/python3.7/dist-packages/pibooth/camera/rpi.py", line 105, in preview
fullscreen=False, window=tuple(rect))
File "/usr/lib/python3/dist-packages/picamera/camera.py", line 800, in start_preview
self, self._camera.outputs[self.CAMERA_PREVIEW_PORT], **options)
File "/usr/lib/python3/dist-packages/picamera/renderers.py", line 477, in __init__
self.renderer.inputs[0].connect(source).enable()
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1296, in connect
return other.connect(self, **options)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1304, in connect
return MMALConnection(self, other, **options)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2141, in __init__
super(MMALConnection, self).__init__(source, target, formats)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1986, in __init__
self._negotiate_format(formats)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2044, in _negotiate_format
mmal.MMAL_EINVAL, 'failed to negotiate port format')
picamera.exc.PiCameraMMALError: failed to negotiate port format: Argument is invalid
[ DEBUG ] pibooth : Activate state 'failsafe'
[ ERROR ] pibooth : system='Linux', node='raspberrypi', release='5.10.52-v7l+', version='#1441 SMP Tue Aug 3 18:11:56 BST 2021', machine='armv7l', processor=''
***********************************************************************************
* Oops! It seems that pibooth has crached *
* You can report an issue on https://github.com/pibooth/pibooth/issues/new *
* and post the file: /tmp/pibooth.log *
***********************************************************************************
[ DEBUG ] pibooth : Activate state 'wait'
[ ERROR ] pibooth : failed to negotiate port format: Argument is invalid
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/pibooth/booth.py", line 389, in main_loop
self.camera.stop_preview()
File "/usr/local/lib/python3.7/dist-packages/pibooth/camera/rpi.py", line 135, in stop_preview
self._cam.stop_preview()
File "/usr/lib/python3/dist-packages/picamera/camera.py", line 816, in stop_preview
self, self._camera.outputs[self.CAMERA_PREVIEW_PORT])
File "/usr/lib/python3/dist-packages/picamera/renderers.py", line 558, in __init__
self.renderer.inputs[0].connect(source).enable()
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1296, in connect
return other.connect(self, **options)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1304, in connect
return MMALConnection(self, other, **options)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2141, in __init__
super(MMALConnection, self).__init__(source, target, formats)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 1986, in __init__
self._negotiate_format(formats)
File "/usr/lib/python3/dist-packages/picamera/mmalobj.py", line 2044, in _negotiate_format
mmal.MMAL_EINVAL, 'failed to negotiate port format')
picamera.exc.PiCameraMMALError: failed to negotiate port format: Argument is invalid
[ ERROR ] pibooth : system='Linux', node='raspberrypi', release='5.10.52-v7l+', version='#1441 SMP Tue Aug 3 18:11:56 BST 2021', machine='armv7l', processor=''
***********************************************************************************
* Oops! It seems that pibooth has crached *
* You can report an issue on https://github.com/pibooth/pibooth/issues/new *
* and post the file: /tmp/pibooth.log *
***********************************************************************************
Thank you for your time and your help
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 18 (8 by maintainers)
Commits related to this issue
- Merge pull request #281 from pibooth/max-preview-resolution Fix #280: Limit the max preview resolution of Raspberry-Pi camera — committed to pibooth/pibooth by werdeil 2 years ago
I just received my 10inch touch screen and everything seems to work fine even with a v1 camera. I tried bot v1 and v2 and it works. I’m now in hybrid mode and full screen on the 10inch display
I will publish soleil photos of the result when it will be fully finished
Le jeu. 14 oct. 2021 à 20:05, Anxuae @.***> a écrit :