Work in progress. This documentation will be provided as required.
Additional documentation is available on on the signagenode website.
Internal players generate graphics to display content within a positioned tile on a layer.
Standard players are:
ImagePlayer - Displays a JPEG
ExoPlayer - Displays a video
HlsExoPlayer - Displays a live HLS video
WebViewPlayer - Displays a web page
CompositePlayer - Displays multiple positioned tiles
Custom players include:
AdminAddressPlayer
AdvertCountdownPlayer
AndroidMediaPlayer
AnimatedGifPlayer
BitmapPlayer
BlankPlayer
CameraPlayer
CompositePlayer
DigitalClockPlayer
DynamicControlsPlayer
ExoPlayerCaptionsPlayer
FramedSequencePlayer
GooglePhotoPlayer
InteractiveControlsPlayer
IntroBlankingPlayer
IntroPlayer
LiveImagePlayer
MediaRssPlayer
MosaicPlayer
MovingPlayer
PlaylistDataPlayer
PlaylistImagePlayer
PlaylistQrCodePlayer
PopupPlayer
ProgressBarPlayer
QrCodePlayer
ReachTVAnimationPlayer
RssHeadlinePlayer
RssPlayer
ScrollingTextPlayer
SimpleControlsPlayer
StatusPlayer
TextBlockPlayer
TextDataPlayer
TextPlayer
TiledTextPlayer
VastPlayer
Displaying items in a tile
A list of items is displayed sequentially in a tile using players.
Example Tile
{ "data": { "marginTop": "0.25", "marginRight": "0.25", "marginBottom": "0.25", "marginLeft": "0.25", "loop": "true" }, "items": [ { "player": "ImagePlayer", "data": { "uri": "http://targetr-demo-media.b-cdn.net/photos/001.jpg", "duration": "10" } }, { "player": "ExoPlayer", "data": { "uri": "http://targetr-demo-media.b-cdn.net/videos/001.mp4" } } ] }
This example positions a tile 25% from the edges of the screen. In pixel terms, on a 1920x1080 screen the top left of the tile will be at 480,270 and bottom left at 1440,810. All margins are relative to the outer component.
The tile then uses players to display the items sequentially. A JPEG image is displayed for 10 seconds using an ImagePlayer then transitions to a video using ExoPlayer.
Displaying multiple tiles
CompositePlayer is used to display multiple tiles at the same time.
Example Composite
{ "data": { "loop": "true" }, "items": [ { "player": "CompositePlayer", "data": { "duration": "10" }, "tiles": [ { "data": { "marginRight": "0.5" }, "items": [ { "player": "ImagePlayer", "data": { "uri": "http://targetr-demo-media.b-cdn.net/photos/001.jpg", "duration": "10" } } ] }, { "data": { "marginLeft": "0.5" }, "items": [ { "player": "ImagePlayer", "data": { "uri": "http://targetr-demo-media.b-cdn.net/photos/002.jpg", "duration": "10" } } ] } ] } ] }
This example uses a CompositePlayer to display 2 tiles on the screen for 10 seconds. Margins of the tiles are set to position them side by side horizontally.
Lots more documentation required.
AdvertCountdownPlayer
This player displays a countdown timer during adverts.
Example:
{ "data": { "loop": "true" }, "items": [ { "player": "CompositePlayer", "data": { "duration": "86400" }, "tiles": [ { "data": { "loop": "true", "marginLeft": "0.89", "marginRight": "0.01", "marginTop": "0.95" }, "items": [ { "player": "AdvertCountdownPlayer", "data": { "color": "#FFFFFFFF", "font": "Roboto-Bold.ttf", "pixelHeight": "54", "pixelWidth": "192", "textPrefix": "Next show: ", "textPrefixColor": "#FFFFFFFF", "textSize": "40" } } ] } ] } ] }
This example will display "Next show: 0:25" at the bottom right of the screen during adverts with the delay until the adverts end updated automatically each second. It will be hidden when no advert is displayed.
The AdvertCountdownPlayer must be positioned above the main layer. While active, it monitors content in the main layer. If an item is identified as an advert (see below) the player will display the time until the next non-advert by looking ahead in the main layer playlist.
An advert is identified by including ad=true in the item data. Dynamic players that generate adverts (e.g. VastPlayer) are marked as adverts automatically.
Please note, the time until the adverts end requires knowledge of the duration of items in the main layer.
This example prefixes the delay by "Next show: " as defined by textPrefix.
Comments
0 comments
Please sign in to leave a comment.