Webcam Stream as Digital Picture Frame

I don’t have a quality window view in my office building and found myself checking the local news’ weather cams throughout the day so I thought it’d be cool to have a live outdoor view streaming to my desk.  Using a Pi 3, Pi Displaya case, and camera, I built a digital picture frame which streams a live video feed from my apartment window to my desk at work.  While going through the process, I hit a few hiccups and a ton of outdated resources online so I thought I’d share my learnings and provide documentation for anyone wishing to recreate.

The following will setup a Pi to run Chromium in Kiosk mode on startup while silencing errors and hiding your cursor.  The assumptions made before beginning are that you’re able to SSH into both of the Pis and your Pis are connected to WiFi.  The guide I followed to setup my cam stream is solid so no need to re-invent the wheel – use this guide to setup your first Pi to stream your cam image.  The obvious callout is to make sure your stream resolution matches your display’s resolution.  The steps below will be for your picture frame Pi and assume you’ve already got your stream up and running…

Step 1

Run the update/upgrade and install Chromium (as explained here).

sudo apt-get update
sudo apt-get upgrade

Step 2

Install x11 server utilities and unclutter.

sudo apt-get install x11-xserver-utils unclutter

Step 3

Since we want this to be as hands-off as possible and to silence any power-saving settings or error messages on power cycles, we’ll edit the LXDE startup to disable this stuff.

sudo nano ~/.config/lxsession/LXDE-pi/autostart

and add the following lines (not the screensaver commented out):
#@xscreensaver -no-splash
@xset s off
@xset -dpms
@xset s noblank
@sed -i ‘s/”exited_cleanly”: false/”exited_cleanly”: true/’ ~/.config/chromium/Default/Preferences

The last line we’ll add in this file will be the address we want to display.  In the example below, we’ll sinply load  We use the incognito tag to prevent Chromium from showing an error in the event of a power cycle.
@chromium-browser –noerrdialogs –kiosk –incognito

Now, exit and write.

Step 4

Let’s reboot and apply the changes to see the results

sudo reboot