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

Please note: the following documentation is about Raspberry Slideshow 13 and beyond.
Here you can find the legay docs (for <= v.12).

 

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 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 REMOTE 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 REMOTE 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: password

# Dropbox key.
dropbox: 2Eg29haj8jYAAXXAIADUsQ0wc6Ev94Gi1bGXhKHR6Wtm4CtHCtks0KThNS8hqcCe

# Refresh time in seconds.
refresh: 600

 

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 (above, a LAN Web server is used) host the inventory file, 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, media list is managed server-side: every time you want your Pi’s screen to change the playlist, enable the 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 an access token from Dropbox, first.
While logged in your Dropbox account, create an app here:

Choose an API -> Dropbox API
Choose the type of access you need -> App folder
Name your app -> Choose a unique name of your choice, say MyUniqueDropboxApp

Click on Create app, then, in the following page, click on the Generate button. The generated access token is a long string, something like 2Ti29hgj8jYAAAFFADONC6-6bKMms0ET3yg0Te97P4XNhjOOdgM11lKT8hpaajO.

In the meanwhile, a new folder named Applications/MyUniqueDropboxApp will appear in your Dropbox account.

Copy and paste the access token into the media.conf file, as the example below:

# Dropbox key.
dropbox: 2Eg29haj8jYAAXXAIADUsQ0wc6Ev94Gi1bGXhKHR6Wtm4CtHCtks0KThNS8hqcCe

Plug the USB stick where you saved the media.conf file into the Raspberry Pi and boot: every file within Applications/MyUniqueDropboxApp/ will be fetched and slided (remember 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) at given, fixed, intervals, in order to slide images and videos according to any server changement.

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

# Refresh time in seconds.
refresh: 600

Refresh value is in seconds, just save the number of seconds you need. So, for an hour, use 3600.
System is smart enough to actually re-download relative remote media only when it sees changements. At the end of each cycle, when a refresh timeout occurs, a black screen will be shown for a few seconds.

 

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.

 

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.