Infiniroot Blog: We sometimes write, too.

Of course we cannot always share details about our work with customers, but nevertheless it is nice to show our technical achievements and share some of our implemented solutions.

Digital Signage: Open Source vs. Closed Source Solutions

Published on March 19th 2024


It's no secret that here at Infiniroot we are fans of and contributors to Open Source Software. So you could call it that "it's in our genes" to use Open Source Software, whenever possible.

However there are certain situations, that an open source software is not maintained well enough or just not ready for prime time to be used by an end customer. Luckily these situations are rare but we've ran into such a situation a couple of months ago, when we were asked to look for a Digital Signage solution for a customer of ours.

What is Digital Signage?

When we were approached by the customer, all we were told was: "The advertisement screen in our shop stopped working. Can you help us replace this with a cost-efficient solution?". Usually we don't do that kind of work, but since this has been a long term customer with a managed Linux server on-premise, we accepted the task.
After some research it turns out, there's a whole market for this kind of "advertisement screens"; it's called "Digital Signage".

Basically all the TV screens showing you information, whether this information are advertisements, a demo rheel, an itenary of today's movies in the cinema or even the menu of a fast food restaurant are using some kind of Digital Signage software in the background. This can range from a single screen being managed on-site or remote to a very large distribution of screens across thousands of shops or restaurants. 

Open Source Digital Signage: Anthias

It didn't take a long time until we stumbled across the "Anthias" Digital Signage project. Anthias is the open sourced "smaller brother" version of Screenly.io, a professional but obviously non-free Digital Signage software. Anthias looked promising as the User Interface was very intuitive, although somewhat limited. 

Anthias Digital Signage User Interface

However there were a couple of problems when we started our local tests and installation.

First of all the setup of an Anthias "screen", for which we chose a Raspberry Pi 4, is not very clear. When we were doing our local tests and installation, two different setup ways seemed possible:
1) Using the Anthias image (based on BalenaOS) from the Raspberry Pi imager
2) Running Raspberry Pi OS and install Anthias using a Shell script

Unfortunately we ran into issues with both types of setup. The prepared image was very restricted and did not allow SSH access on the Raspberry Pi. To support the customer from remote, e.g. to restart the containers in case of a problem, SSH access is a must for us. After reaching out to both the community (forums) and taking part in issue discussions on GitHub, we realized there's no answer for a very long time. It even resulted in someone from the Raspberry Pi foundation to figure out that the image is heavily outdated and the Anthias image was removed from the image list in the Raspberry Pi Imager.

The second installation way, using a Raspberry Pi with Raspberry Pi OS installed, did not work either - at least not with the most recent Rasbperry Pi OS 12 (Bookworm) installed. The installer itself ran into a bug - which could be fixed with a workaround mentioned by a community user. It took weeks until someone from the Anthias project revealed that Rasbperry Pi OS 12 (Bookworm) is not yet supported.

After having found a workaround to enable SSH on the Anthias BalenaOS image, we've continued out tests with this type of setup. In our local tests Anthias worked without a problem. This included several types of videos, with different durations and codecs and multiple reboots of the Raspberry Pi.

In order to get remote access to the Raspberry Pi, once installed on customer site, we decided to use the existing on-premise Linux server we already manage and use it as a HTTP Reverse Proxy to get access to the Anthias interface. 

Anthias reverse proxy setup

The public access was protected by a simple Basic Authentication prompt. This turned out to be a simple but efficient solution. The customer was happy and so were we.

But after running smoothly for a month, a problem came up. All of a sudden, the videos were covered by 6-8 seconds of a dark screen before they were playing. We suspected an updated container image to be the cause, but even after reverting to older container images, the problem remained. Other users noticed the same unexpected behaviour and mentioned the black screen issues as well but no solution or workaround was offered. We needed to look for an alternative.

Unfortunately all the other open sourced Digital Signage software seemed even less maintained than Anthias (or far more complex to implement) - something we did not feel comfortable with putting on our customer's shoulders. So we did something we rarely do: Looking at non open source solutions. 

Not open source but free for a single screen: Yodeck

There are quite a few (closed source) Digital Signage solutions available. Some have their pricing based on the number of managed screens, others on devices/players or even an entirely different (a flat) license model. On our research Yodeck struck out with its promise to be free (and remain free) for a single player (device).

Yodeck free for one screen, forever

Remark to Yodeck staff: We're counting on you to hold that promise! ;-)

After writing the Yodeck image on another Raspberry Pi device, we started our local tests and were very surprised how well Yodeck works. The user interface can not be compared to Anthias, as this is a cloud-based service. The configuration and video/playlist settings are all stored in the cloud, not on the device itself.

Yodeck configuration in cloud

The device, the Rasberry Pi "monitor" (that's what Yodeck calls the device streaming to the display), pulls changes from the Yodeck cloud and therefore doesn't need a Reverse Proxy setup for remotely managing the videos or playlist. Yodeck also allows you to configure network settings and enable SSH access (with root access). This allowed us to remotely connect to the Raspberry Pi by using the existing on-premise Linux server as jump host.

A few days later, the new Raspberry Pi device, now running Yodeck, was installed on customer site and has been smoothly running ever since. Our customer is now managing the videos and playlists by using the Yodeck cloud service, based on our (simplified) documentation we created. And of course we've added the new device to our managed systems monitoring, so we and the customer know if the "screen" is not working as expected.

Digital signage screen in action

Do what works best for the customer

We had to come out of our own shell to acknowledge something here: In the topic of Open Source Digital Signage solutions, there is currently no advanced, stable and well maintained product. And this is what counts at the end for an end-user. The Yodeck "1 screen/forever free" price is a great alternative and is a perfect fit for small shops.

From our point of view, we have learned a lot. Digital Signage is a topic on its own and usually out of our scope, but it was interesting nevertheless. And most importantly: We have delivered a price-efficient solution to our satisfied customer.