NovaSigns ist eine von mir konzipierte und entwickelte Digital-Signage-Plattform zur zentralen Verwaltung und zeitgesteuerten Ausspielung von Medien auf verteilten Android-basierten Playern.
Das System besteht aus einer zentralen MERN-Webanwendung und einer Android-App für kostengünstige AOSP-TV-Boxen. Die Player synchronisieren ihre Playlists und Medien über eine REST API und halten die benötigten Inhalte lokal vor. Dadurch bleibt die Wiedergabe auch bei temporär fehlender Serververbindung verfügbar.
Konzeption, technische Architektur und Implementierung der zentralen Anwendung sowie der Player-Lösung wurden von mir eigenverantwortlich umgesetzt.
Konzeption, Architektur & Entwicklung
Verteiltes Digital-Signage-System
Offlinefähigkeit & Device Management
MERN · Android/AOSP · REST · Zabbix

NovaSigns sollte Medien zentral verwalten, zuverlässig auf verteilten Displays ausspielen und auch dann weiterarbeiten, wenn einzelne Player zeitweise keine Verbindung zum Server haben.
Medien, Playlists und Bildschirme werden zentral über eine Webanwendung verwaltet und einzelnen Displays zugeordnet.
Playlists können pro Bildschirm geplant und automatisch innerhalb definierter Zeiträume abgespielt werden.
Inhalte werden lokal auf dem Player vorgehalten, sodass die Wiedergabe auch ohne permanente Serververbindung fortgesetzt wird.
Neue Bildschirme werden einmalig per Code gekoppelt und anschließend über eine eindeutige ID im System identifiziert.
Werbemedien können in Playlists integriert und ihre Ausspielungen nach Bildschirm, Häufigkeit und Dauer erfasst werden.
Upload-Größen und verfügbarer Gesamtspeicher werden begrenzt, während Systemlast und Ressourcenverbrauch überwacht werden.
Die Architektur trennt die zentrale Verwaltung und Planung konsequent von der eigentlichen Medienwiedergabe auf den verteilten Playern.
Die MERN-Webanwendung verwaltet Medien, Playlists, Zeitsteuerungen und die Zuordnung zu den einzelnen Bildschirmen.
React · Node.js · Express · MongoDB
Die Android-Player kommunizieren über eine REST API mit dem Backend und synchronisieren die für ihren Bildschirm vorgesehenen Inhalte.
REST API · Device ID · Playlist Sync
Playlists und Medien werden auf dem Player lokal gespeichert. Die Wiedergabe bleibt dadurch von temporären Verbindungsproblemen zum Backend unabhängig.
Android/AOSP · WebView · Local Cache
Die Architektur wurde pragmatisch auf Zuverlässigkeit, einfache Bereitstellung und einen möglichst geringen Betriebsaufwand der verteilten Player ausgerichtet.
Playlists und Medien werden vor der Wiedergabe auf den jeweiligen Player heruntergeladen. Ist das Backend vorübergehend nicht erreichbar, wird der zuletzt synchronisierte Stand weiter abgespielt.
Planung und Verwaltung erfolgen zentral, während die eigentliche Medienwiedergabe auf dem jeweiligen Client stattfindet. Dadurch bleibt die Laufzeitfunktion der Player vom Backend entkoppelt.
Ein neuer Bildschirm wird einmalig über einen Pairing-Code mit der Plattform verbunden. Anschließend erhält der Player eine eindeutige ID für Zuordnung und Kommunikation.
Die Android-App stellt die Laufzeitumgebung bereit und rendert die Player-Oberfläche über eine React-Komponente in einer WebView. Änderungen an der Oberfläche können dadurch zentral bereitgestellt werden, ohne die Android-App regelmäßig neu auszurollen.
Sowohl die maximale Dateigröße eines Mediums als auch der insgesamt verfügbare Speicherplatz werden begrenzt, um Ressourcenverbrauch kontrollierbar zu halten.
Externe Quellen werden nur für ergänzende RSS-basierte Inhalte wie Nachrichten und Wetter benötigt. Verwaltung, Synchronisation und Wiedergabe der Kerninhalte bleiben davon unabhängig.
Neben regulären Signage-Inhalten können Bilder und Videos von Werbepartnern in Playlists integriert und auf ausgewählten Bildschirmen ausgespielt werden.
Für diese Medien werden die tatsächlichen Wiedergaben erfasst: welches Medium auf welchem Bildschirm lief, wie häufig es ausgespielt wurde und über welche Gesamtdauer.
Aus diesen Daten erzeugt NovaSigns Berichte pro Werbepartner. Damit lässt sich nachvollziehen, welche gebuchten Inhalte tatsächlich auf welchen Displays ausgespielt wurden.
Medium · Bildschirm · Ausspielungen · Wiedergabedauer
Automatisch generierte Berichte pro Werbepartner
Transparenter Nachweis der tatsächlich ausgespielten Werbeinhalte
Neben der Anwendungsentwicklung wurden auch Ressourcenverbrauch und Systemverhalten unter Last betrachtet.
Für Tests und Betriebsbeobachtung stand eine virtualisierte Proxmox-Umgebung zur Verfügung, in der das Verhalten der beteiligten Systemkomponenten untersucht werden konnte.
Systemressourcen und Last wurden mit Zabbix überwacht, um Ressourcenverbrauch und Betriebsverhalten nachvollziehen und Engpässe erkennen zu können.
Upload-Limits und ein begrenzter Gesamtspeicher verhindern einen unkontrollierten Ressourcenverbrauch durch große Mediendateien.
NovaSigns verbindet zentrale Inhaltsverwaltung mit zuverlässiger dezentraler Wiedergabe und ermöglicht den Betrieb verteilter Digital-Signage-Player auf kostengünstiger Android-Hardware.
NovaSigns
Konzeption, Architektur & Entwicklung
MERN · REST · Android/AOSP
Offline-First · Device Management · Reporting