Overview
This document outlines some of the limitations that you need to be aware of when developing widgets that play videos for use within Signagelive. After reading this you should have a better understanding of the use cases that will work and render correctly on the screen and the cases that will not.
Maximum supported number of concurrent videos playing using HTML5 video tag on LG webOS
There is a limit to the number of concurrent videos that can be loaded and played using the HTML5 video tag concurrently. The limit is different depending on the generation of webOS panel you are using having been increased in more recent generations as shown below:
This limit applies to all of the content on the screen and not just to each individual widget. Therefore, If you have 2 widgets scheduled in different schedulable content zones in Signagelive that both play 1 video, then if these widgets play at the same time this would count as 2 video tags playing concurrently.
Equally, if you have 1 widget playing full screen that uses two video tags to play two videos at the same time within the widget, this would also count as 2 video tags being in use concurrently.
Widget Transitions and how they impact concurrent video playback
Signagelive has made every effort to ensure that transitions between widgets and other playlist media assets are as seamless as possible (see: http://build.signagelive.com/widget-sdk/). To achieve this the Signagelive media player will attempt to pre-load the next widget asset in a playlist and then display it on screen only once it has loaded and is ready to be displayed. This significantly reduces the potential for noticeable black gaps between widget assets.
This optimization leads to a scenario that widget and content developers should be aware of where more video tags may be in use than might be expected. Consider the following cases:
A playlist is scheduled to a zone that contains 2 consecutive widgets that play video
A playlist is scheduled to a zone that contains only 1 widget that plays video and has a short asset duration
In scenario (1) when the 1st widget in the playlist is about to finish, the media player starts to pre-load the next widget. Whilst this is happening there will be a short period where there are 2 video tags in use in the content zone rather than 1:
The video tag in the first widget displaying the current video that you can see on the screen
The video tag in the 2nd widget which is currently loading the next video to play, ready for when the 2nd widget is displayed on screen
Scenario (2) is identical to scenario (1) only the 1st and 2nd widgets to play just happen to be the same widget.
Similar scenarios can also arise when we have video-to-widget and widget-to-video asset transitions.
This leads to the following table that describes the number of widgets that play video that can be scheduled concurrently on LG webOS displays taking to account widget-to-widget/widget-to-video transitions.
* Widgets that include video playback are not recommended for use on webOS 1.0 panels. Due to extremely poor video load times, playback results are poor and inconsistent. On webOS 2.0 displays this is much improved but do note that widget-to-widget transitions will not be seamless due to the 1 video tag limitation.
** In testing we have noticed that occasionally transitions are not ideal on webOS 4.0 when playing 2 concurrent zones that include widgets-to-widget/widget-to-video transitions. This is much better on webOS 4.1.
What happens when you exceed the maximum number of supported video tags?
If the maximum number of supported video tags in use is exceeded at any time you may notice:
Videos fail to play
Flashing during transitions
Other unexpected video playback issues
General recommendations for best results
For the best results when working with widgets that include video playback it is recommended to ensure that you do not exceed the maximum number of supported concurrent video tags for your webOS generation.
Furthermore, it is recommended that you limit asset transitions to only those that are necessary and implement things like video looping and regular data updates within the widget as opposed to simply relying on Signagelive to regularly reload the widget.
You can reduce unnecessary asset transitions by:
Making use of widget zones in the layout editor
Increasing the duration of widget assets in a playlist