Digital signage is dominated by overpriced, vendor-locked black boxes. I build the open alternative.
In 2011 I started to build a commercial digital signage CMS to manage hundreds of IAdea players for a client because there was no affordable, SMIL-compatible solution that fit the job. Over the years, resellers started building their own proprietary players instead of paying for certified hardware. Most failed. So in December 2015 I start to built an open-source media player that anyone could use and contribute to. The launcher, proxy, and hub followed.
Garlic-player now runs on around 2000+ screens in production.
The goal: modular, open digital signage building blocks that talk to each other through open standards like SMIL, and stay replaceable.
garlic-player: A SMIL-based media player for Linux, Android, Windows, and macOS. No license fees, no cloud dependency.
garlic-hub: The CMS behind it (run in Docker). Content scheduling, playlist control and a graphic template editor.
garlic-launcher: Root-free Android launcher to keep players locked down and maintained in the field.
garlic-proxy: A proxy for restricted network environments
garlic-analytics: Self-hosted analytics service for players. Collects logs, proof-of-play reports and connection events in ClickHouse, with a REST API for CMS integration. Currently under development.
garlic-widgets: A widget library based on W3C Packaged Web Apps. HTML5 apps that run inside SMIL regions for data-driven content.
IDE plugins for JetBrains and VS Code are available.
Each one works on its own. Use a single piece, combine a few, or run all of them. Hub exports standard SMIL, so any SMIL 3.0 player works with it, and garlic-player plays playlists from any SMIL source. AGPL and MIT licensed.
→ garlic-signage.com for the full picture.
- Integrators running 50+ screens who are done explaining monthly SaaS invoices to clients
- IT departments that can't let content or device data touch a third-party cloud
- Developers who've wasted a weekend reverse-engineering black-boxes and are done with it.
One person. Ten screens. No budget for SaaS nonsense.
C++ · PHP · Java · JavaScript · Qt · Linux · Android · macOS · Windows
Found a bug? Open an issue.
Want to contribute? PRs are welcome, especially for platform support and SMIL features.
Need custom development or integration support? → smil-control.com
sagiadinos.com → the person behind the code
Currently somewhere with decent WiFi. Life's too short to spend it behind a desk.



