Download Raspberry Slideshow // documentation

About | Download and use | Donation | Faq | Changelog | References

Detailed write instructions are available here (long story short: you can write Raspberry Slideshow as any other operating system for the Pi). Some default images and videos (taken from the Web and YouTube) are included within the system for a quick functioning example: plug in the Ethernet cable (DHCP) for a full experience.

For web-based signaging, please have a look at Raspberry Digital Signage instead.

This “release” build of Raspberry Slideshow is limited is some functionality: please have a look at the donation page for the full access to the unrestricted versions of all of Binary Emotions’ operating systems.

 

SETUP: HOW TO USE (Raspberry Slideshow 14 and beyond)

 

1. Local media
Put image and/or video files into a USB stick with one only partition (or use its first partition), vFAT/NTFS or ext4 formatted. Files must be put in the root folder (not inside directories).
Plug the USB stick into the Raspberry Pi running Raspberry Slideshow and boot.
That’s all – it’s that easy.

 

A configuration file, media.conf, can be saved in the USB key, configuring all the system functioning modes explained in the rest of this documentation.
A sample of the file is exemplified below and can be downloaded here.
You can combine any of the media.conf directives with each others and also save media into the USB key directly.

# STATIC CONTENT:

url: https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg
url: https://www.binaryemotions.com/rs-default-media/verona.arena.jpg

# REFRESHABLE CONTENT:

# Server-managed inventory.
serverlist: https://www.binaryemotions.com/rs-default-media/images.txt

# Samba share.
smb.share: //192.168.0.210/share/test
smb.username: admin
smb.password: test

# Dropbox.
dropbox: enable

# Remote media refresh.
# Values yes|no.
# If you 1) use only images and 2) don’t use remote media or don’t need remote media list to be re-read during the playback,
# please set this to no: images playback will be continuous without the blanks needed to check remote changements.
media.refresh: no

 

2. Fetch remote media
Set up the media.conf file in order to specify LAN or Internet URLs of remote images and/or videos hosted by a Web or FTP server, one per line, like the following example:

url: https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg
url: https://www.binaryemotions.com/rs-default-media/verona.arena.jpg
url: ...

Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot.
All remote media will be copied into the Pi’s internal card and slided (remember to connect Raspberry Slideshow to the network via a wired Ethernet cable, first – for going wirelessly, see the FAQ section).

 

3. Link to a remote inventory (donors’ build only)
Set up the media.conf file in order to specify the URL of a remote inventory file. For example:

# Server-managed inventory.
serverlist: https://192.168.0.100/inventory.txt

Make your Web/FTP server host the inventory file (above, a LAN Web server is used), in the example named inventory.txt. inventory.txt file content is a simple list of URLs (one per line), for example:

https://www.binaryemotions.com/rs-default-media/verona.san-zeno.jpg
https://www.binaryemotions.com/rs-default-media/verona.mpeg

Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot (remember to connect Raspberry Slideshow to the network via a wired Ethernet cable, first).

This way, the media list can be managed server-side: enable the media.refresh directive (see below) and just modify the inventory file hosted by your server. Inventory’s content can be eventually generated by a server-side scripting logic, if needed.

 

4. Fetch media from a Windows (Samba) share (donors’ build only)
Set up the media.conf file in order to specify a local network folder share location, username and password like the example below:

# Samba share.
smb.share: //192.168.0.210/share/TEST
smb.username: admin
smb.password: password

Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot.
All remote media will be copied into the Pi’s internal card and slided (remember to connect Raspberry Slideshow to the network via a wired Ethernet cable, first).
If you have issues, see the dedicated help FAQ.

 

5. Fetch media from your Dropbox account (donors’ build only)
For this feature to work you need to set up dropbox_uploader, first.
SSH in as root (login as pi and do sudo -i), then launch dropbox_uploader.sh and follow the instructions. The folder Applications/YOUR_DROPBOX_APP_NAME/ will be created in your Dropbox space.
Finally run dropbox_uploader.sh info to verify the login token is correct. Delete the /root/.dropbox_uploader file if you need to start from scratch.

Set up the media.conf file in order to enable the Dropbox feature:

# Dropbox.
dropbox: enable

Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot: every file within Applications/YOUR_DROPBOX_APP_NAME/ will be fetched and slided (remember of course to connect Raspberry Slideshow to the network via a wired Ethernet cable, first).

 

The refresh feature (use with 3., 4. and 5) (donors’ build only)
Raspberry Slideshow can refresh the media list (inventory linked media, network share and Dropbox content) in order to slide images and videos according to any server change.

You can accomplish this by enabling the refresh directive in the media.conf file, like:

# Remote media refresh.
media.refresh: yes

System is smart enough to actually re-download relative remote media only when it detects changes (i.e. addition or deletion of a file; depending on the remote target, a simple change in the file content cannot be seen – yes, it’s a limitation).

In this case, at the end of each playback cycle, a blank screen will be shown for a few seconds, which is needed to check for remote changes.
Please note. If you 1) use only images and 2) don’t use remote media or don’t need remote media list to be re-read during the playback, please set this to no: images playback will be continuous without the blanks.

 

Automatic photos rotation (donors’ build only)
An optional photos rotation based on their EXIF informations is available; enable in /etc/rs.conf via SSH as root (refer to the FAQ page). This will increase the boot time.

 

Using scp (donors’ build only)
All the above functioning modes have been presented together with the use of a USB key as the way to input media into the Pi’s filesystem, which is the simplest possible use case for most users.

However, it’s also possible to load media files and the media.conf file via scp (you can use the same clients as when you connect via SSH).

Just put the files in /var/lib/rs/ and restart Systemd:

  1. [on the Pi’s shell] Enable the SSH login via root directly: change the password for the root user while SSH’d in as pi (sudo passwd root), then modify /etc/ssh/sshd_config with PermitRootLogin yes (sudo mc -e /etc/ssh/sshd_config). Finally restart ssh (sudo systemctl restart ssh).

  2. [on your host system] Copy your files: scp /path/to/my/local/files/* root@RASPBERRY_IP:/var/lib/rs/
While for *nix users this is trivial, for Windows users this step could be a pain, without the right tools. Usage of MobaXTerm or the Linux Subsystem for Windows is advised.

  3. [on the Pi’s shell] Restart Raspberry Slideshow: sudo systemctl restart rs

Using sshfs
An advanced way of sharing files with Raspberry Slideshow, and make it play them, could be via sshfs. You can mount the system’s media folder (/var/lib/rs/) as an sshfs mount. Restart the Raspberry Slideshow service after a folder update.

 
Of course, if you only need to write the config file, just SSH in as root (sudo -i), then modify /var/lib/rs/media.conf with mc or another text editor. scp or sshfs are not required in this case.

 

Ruleset
The following rules apply.

  • All the USB files (images, videos and media.conf) are copied into the internal Raspberry’s SD-CARD:
          – if the USB key is inserted: at every reboot, SD-CARD files are updated and hence played according to the key’s content;
          – if the USB key is not inserted: at every reboot, media are played from the internal cache. So, after the first run, you can unplug the USB key.
  • Functioning modes can be combined.
  • Media will be displayed in a name-based order (donors’ build only), and in the following sequence: remote media, then inventory-related media, network share, Dropbox and then USB contained media, followed by videos. So, images come first and then videos. This behaviour is by design and unmodifiable (please do not ask for).
  • Accepted image formats are jpeg (.jpeg or .jpg), png, gif.
  • Accepted video formats are the ones played by omxplayer, mostly mp4 files.

 
It does not work / I have issues/questions
Just have a look at FAQ page.
In case of problems, please do not contact me unless you have enabled the DEBUG mode and you have the output of /var/log/rs.log by hand.

 

Full version
This “release” build of Raspberry Slideshow is limited is some functionality: please have a look at the donation page for the full access to the unrestricted versions of all of Binary Emotions’ operating systems.