From e5b8b2e82c23db70903cada814738316f1ee47ed Mon Sep 17 00:00:00 2001 From: JRK Date: Fri, 5 Jul 2024 15:00:08 +0200 Subject: [PATCH 1/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58b160a..8a87c70 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Use a RaspberryPi (Lite OS) to show a fullscreen slideshow (Kiosk-mode) [](https://discord.obscreen.io) ### Open an Issue or a Pull Request on Github -[](https://github.com/jr-k/obscreen/issues) +[](https://github.com/jr-k/obscreen/issues/new/choose) # Troubleshoot From 4dd9e6f1e1770a6fd076fac037bbfce5157fc3e8 Mon Sep 17 00:00:00 2001 From: JRK Date: Sat, 6 Jul 2024 19:52:51 +0200 Subject: [PATCH 2/8] Update setup-run-headless.md --- docs/setup-run-headless.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/setup-run-headless.md b/docs/setup-run-headless.md index 9c66658..62e57f8 100644 --- a/docs/setup-run-headless.md +++ b/docs/setup-run-headless.md @@ -96,22 +96,15 @@ sudo journalctl -u obscreen-studio -f --- ## πŸ“Ί Run the player instance -### Manually on any device capable of running chromium -When you run the browser yourself don't forget to use these flags for chromium browser: -```bash -# chromium or chromium-browser or even chrome -# replace http://localhost:5000 with your playlist url -chromium --disable-features=Translate --ignore-certificate-errors --disable-web-security --disable-restore-session-state --autoplay-policy=no-user-gesture-required --start-maximized --allow-running-insecure-content --remember-cert-error-decisions --noerrdialogs --kiosk --incognito --window-position=0,0 --window-size=1920,1080 --display=:0 http://localhost:5000 -``` -### Automatically on a raspberry pi with chromium and x11 -- Install x11 and obscreen-player systemd service +### Autorun for a RaspberryPi +- Install player autorun by executing following script (will install chromium, x11 and obscreen-player systemd service) ```bash curl -fsSL https://raw.githubusercontent.com/jr-k/obscreen/master/system/install-autorun-rpi.sh | sudo bash -s -- $USER $HOME -mkdir -p /home/pi/obscreen/var/run -nano /home/pi/obscreen/var/run/play +mkdir -p ~/obscreen/var/run +nano ~/obscreen/var/run/play ``` -- Copy this script in `/home/pi/obscreen/var/run/play` file to autorun chromium with correct url (edit `http://localhost:5000` by anything you want) +- Copy following script in `~/obscreen/var/run/play` file to autorun to enable chromium autorun (replace `http://localhost:5000` by your own `obscreen-studio` instance url) ``` #!/bin/bash @@ -140,6 +133,13 @@ chromium-browser --disable-features=Translate --ignore-certificate-errors --disa sudo systemctl restart obscreen-player.service ``` +### Manually on any device capable of running chromium +When you run the browser yourself, don't forget to use these flags for chromium browser: +```bash +# chromium or chromium-browser or even chrome +# replace http://localhost:5000 with your obscreen-studio instance url +chromium --disable-features=Translate --ignore-certificate-errors --disable-web-security --disable-restore-session-state --autoplay-policy=no-user-gesture-required --start-maximized --allow-running-insecure-content --remember-cert-error-decisions --noerrdialogs --kiosk --incognito --window-position=0,0 --window-size=1920,1080 --display=:0 http://localhost:5000 +``` --- ## πŸ“Ž Additional From 9a1e6bbba9d3c5d503f0cd3c34fdbfc5606ae9ce Mon Sep 17 00:00:00 2001 From: JRK Date: Sat, 6 Jul 2024 19:52:55 +0200 Subject: [PATCH 3/8] Update setup-run-on-rpi.md --- docs/setup-run-on-rpi.md | 57 ++++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/docs/setup-run-on-rpi.md b/docs/setup-run-on-rpi.md index 01d54a3..3f6d4c2 100644 --- a/docs/setup-run-on-rpi.md +++ b/docs/setup-run-on-rpi.md @@ -11,13 +11,6 @@ 1. Download RaspberryPi Imager and setup an sdcard with `Raspberry Pi OS Lite` (🚨without desktop, only `Lite` version!). You'll find it under category `Raspberry PI OS (other)` 2. Log into your RaspberryPi locally or via ssh (by default it's `ssh pi@raspberrypi.local`) ---- - -## πŸ“Ί Run the player instance -Install player autorun by executing following script -```bash -curl -fsSL https://raw.githubusercontent.com/jr-k/obscreen/master/system/install-autorun-rpi.sh | sudo bash -s -- $USER $HOME -``` --- ## πŸ“‘ Run the studio instance @@ -112,7 +105,55 @@ sudo journalctl -u obscreen-studio -f ## πŸ‘Œ Usage - Page which plays slideshow is reachable at `http://raspberrypi.local:5000` - Slideshow manager is reachable at `http://raspberrypi.local:5000/manage` - + +--- +## πŸ“Ί Run the player instance + +### Autorun for a RaspberryPi +- Install player autorun by executing following script (will install x11 and obscreen-player systemd service) +```bash +curl -fsSL https://raw.githubusercontent.com/jr-k/obscreen/master/system/install-autorun-rpi.sh | sudo bash -s -- $USER $HOME +mkdir -p ~/obscreen/var/run +nano ~/obscreen/var/run/play +``` +- Copy following script in `~/obscreen/var/run/play` file to enable chromium autorun (replace `http://localhost:5000` by your own `obscreen-studio` instance url) +``` +#!/bin/bash + +# Disable screensaver and DPMS +xset s off +xset -dpms +xset s noblank + +# Start unclutter to hide the mouse cursor +unclutter -display :0 -noevents -grab & + +# Modify Chromium preferences to avoid restore messages +mkdir -p /home/pi/.config/chromium/Default 2>/dev/null +touch /home/pi/.config/chromium/Default/Preferences +sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' /home/pi/.config/chromium/Default/Preferences + +RESOLUTION=$(DISPLAY=:0 xrandr | grep '*' | awk '{print $1}') +WIDTH=$(echo $RESOLUTION | cut -d 'x' -f 1) +HEIGHT=$(echo $RESOLUTION | cut -d 'x' -f 2) + +# Start Chromium in kiosk mode +chromium-browser --disable-features=Translate --ignore-certificate-errors --disable-web-security --disable-restore-session-state --autoplay-policy=no-user-gesture-required --start-maximized --allow-running-insecure-content --remember-cert-error-decisions --noerrdialogs --kiosk --incognito --window-position=0,0 --window-size=${WIDTH},${HEIGHT} --display=:0 http://localhost:5000 +``` +- Restart +```bash +sudo systemctl restart obscreen-player.service +``` + +### Manually on any device capable of running chromium +When you run the browser yourself, don't forget to use these flags for chromium browser: +```bash +# chromium or chromium-browser or even chrome +# replace http://localhost:5000 with your obscreen-studio instance url +chromium --disable-features=Translate --ignore-certificate-errors --disable-web-security --disable-restore-session-state --autoplay-policy=no-user-gesture-required --start-maximized --allow-running-insecure-content --remember-cert-error-decisions --noerrdialogs --kiosk --incognito --window-position=0,0 --window-size=1920,1080 --display=:0 http://localhost:5000 +``` +--- + ## ✨ You are done now :) - If everything is set up correctly, the RaspberryPi shall start chromium in fullscreen directly after boot screen and after some seconds of showing the date & time (`views/player/default.jinja.html`) your slideshow shall start and loop endlessly. - Make sure that `PLAYER_AUTOSTART_FILE` exists and is writeable ! From 30e99696e3818edfdef80d3a83bdb852b404a6d5 Mon Sep 17 00:00:00 2001 From: JRK Date: Sat, 6 Jul 2024 20:09:26 +0200 Subject: [PATCH 4/8] Update setup-run-on-rpi.md --- docs/setup-run-on-rpi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup-run-on-rpi.md b/docs/setup-run-on-rpi.md index 3f6d4c2..66771ab 100644 --- a/docs/setup-run-on-rpi.md +++ b/docs/setup-run-on-rpi.md @@ -110,7 +110,7 @@ sudo journalctl -u obscreen-studio -f ## πŸ“Ί Run the player instance ### Autorun for a RaspberryPi -- Install player autorun by executing following script (will install x11 and obscreen-player systemd service) +- Install player autorun by executing following script (will install chromium, x11 and obscreen-player systemd service) ```bash curl -fsSL https://raw.githubusercontent.com/jr-k/obscreen/master/system/install-autorun-rpi.sh | sudo bash -s -- $USER $HOME mkdir -p ~/obscreen/var/run From 91981c53b54f65326fd2fde51dcda5a030d19530 Mon Sep 17 00:00:00 2001 From: JRK Date: Sat, 6 Jul 2024 20:10:10 +0200 Subject: [PATCH 5/8] Update setup-run-headless.md --- docs/setup-run-headless.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup-run-headless.md b/docs/setup-run-headless.md index 62e57f8..643cfe6 100644 --- a/docs/setup-run-headless.md +++ b/docs/setup-run-headless.md @@ -104,7 +104,7 @@ curl -fsSL https://raw.githubusercontent.com/jr-k/obscreen/master/system/install mkdir -p ~/obscreen/var/run nano ~/obscreen/var/run/play ``` -- Copy following script in `~/obscreen/var/run/play` file to autorun to enable chromium autorun (replace `http://localhost:5000` by your own `obscreen-studio` instance url) +- Copy following script in `~/obscreen/var/run/play` file to enable chromium autorun (replace `http://localhost:5000` by your own `obscreen-studio` instance url) ``` #!/bin/bash From 23332ee6706f8a175a7214f4b1ac72d6441566c5 Mon Sep 17 00:00:00 2001 From: JRK Date: Sat, 6 Jul 2024 20:11:10 +0200 Subject: [PATCH 6/8] Update setup-run-on-rpi.md --- docs/setup-run-on-rpi.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup-run-on-rpi.md b/docs/setup-run-on-rpi.md index 66771ab..183776c 100644 --- a/docs/setup-run-on-rpi.md +++ b/docs/setup-run-on-rpi.md @@ -171,7 +171,7 @@ https://www.raspberrypi.org/documentation/configuration/config-txt/video.md However, I used this one: `(2,82) = 1920x1080 60Hz 1080p` -### How to upgrade +### How to upgrade `obscreen-studio` >#### with docker run - Just add `--pull=always` to your `docker run ...` command, you'll get latest version automatically. >#### or with docker compose From 7908c80d28410ecd9bb0d5960acd5de829218279 Mon Sep 17 00:00:00 2001 From: JRK Date: Sat, 6 Jul 2024 20:11:15 +0200 Subject: [PATCH 7/8] Update setup-run-headless.md --- docs/setup-run-headless.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/setup-run-headless.md b/docs/setup-run-headless.md index 643cfe6..3841239 100644 --- a/docs/setup-run-headless.md +++ b/docs/setup-run-headless.md @@ -145,7 +145,7 @@ chromium --disable-features=Translate --ignore-certificate-errors --disable-web- ## πŸ“Ž Additional -### How to upgrade +### How to upgrade `obscreen-studio` >#### with docker run - Just add `--pull=always` to your `docker run ...` command, you'll get latest version automatically. >#### or with docker compose From 54c94a5ca69d2dd894e12158aff9cc87c3d00cd8 Mon Sep 17 00:00:00 2001 From: JRK Date: Wed, 10 Jul 2024 22:00:22 +0200 Subject: [PATCH 8/8] fix, no content in slide 500 --- src/controller/PlayerController.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/controller/PlayerController.py b/src/controller/PlayerController.py index 8f7111d..ff70a63 100644 --- a/src/controller/PlayerController.py +++ b/src/controller/PlayerController.py @@ -25,7 +25,10 @@ class PlayerController(ObController): for slide in slides: if slide['content_id']: - content = contents[slide['content_id']].to_dict() + if int(slide['content_id']) not in contents: + continue + + content = contents[int(slide['content_id'])].to_dict() slide['name'] = content['name'] slide['location'] = content['location'] slide['type'] = content['type']