Skip to main content
Version: Next

Introduction to signageOS SMIL Player

signageOS has implemented a well-known standard for playlist definition - SMIL, based on the "a-smil" version. This universal SMIL player allows anyone to define a standardized playlist and then submit the URL where the playlist definition is located.

The signageOS SMIL player will get the playlist, store it internally, cache all files and widgets, and begin with the playback.

Main benefits

  1. Using standardized playlist and player removes the burden of "re-inventing the wheel" for common use cases
  2. SMIL playlist supports all possible features and scenarios you might need - zones, regions, scheduling, layouts, priority playback, triggered playback, sensors, web widgets, and conditional playback, etc.
  3. SMIL Player is open-sourced (MIT), you can freely adjust it if you need additional features
  4. SMIL Player is optimized to run smoothly on all supported devices
tip

From our experience, building a similar Player requires 8-12 months to reach the point where it has all the features and the Player is robust enough to be deployed in a large scale (tens of thousands of devices).

By using the already existing SMIL Player, you save this time and resources which you can allocate to the features of your CMS system.

How the SMIL playlist looks like

Sample SMIL playlist definition
<smil>

<head>
<layout>
<root-layout width="1080" height="1920" backgroundColor="#FFFFFF" /> <!-- define regions/zones -->
<region regionName="main" left="0" top="0" width="1080" height="1920" z-index="1"
backgroundColor="#FFFFFF" />
</layout>
</head>

<body>
<par>
<!-- define what should be played in regions -->
<seq repeatCount="indefinite"> <video
src="https://signageos-demo.s3.eu-central-1.amazonaws.com/smil/samples/assets/landscape1.mp4"
region="main"></video> <img dur="5s"
src="https://signageos-demo.s3.eu-central-1.amazonaws.com/smil/samples/assets/landscape2.jpg"
region="main"></img> </seq>
</par>
</body>
</smil>