Insight & Article

How do I deal with signage and video transitions?

How do I deal with signage and video transitions?

In an ideal world, all signs and videos would load instantly, and this would allow the transitions from one sign to the next (or from one video to the next) to also happen instantly.

However, although device performance keeps improving, it does still take a small amount of time for a SignStix Player to load images, or cue-up the next video.  This article describes how these transitions are handled, so that you can plan for them when designing your signage.

Note that this is quite a technical topic.  You should only need to read it if you have complex signage and the transitions are not as you expect.  The description below applies to version 2.10 (Android) Players.

Signage Transitions in a Sequence

General Case

As an example, suppose that a sequence contains Sign A (looping once) and Sign B (looping twice). 

By default, when the Player reaches the end of Sign A, it pauses on the final frame of Sign A until Sign B has loaded. This pause is often very short (e.g. a fraction of a second), but it may be longer if Sign B contains lots of large images.  As soon as Sign B has finished loading, the Player switches immediately from the final frame of Sign A to the first frame of Sign B.

When Sign B reaches the end of its first iteration, there is no pause before it starts its second iteration. This is because all the images needed by Sign B are already loaded, so the final frame of Sign B is followed immediately by the first frame of Sign B when it loops round.

When Sign B reaches the end of its second (final) iteration, the Player pauses on the final frame of Sign B while it loads Sign A.  Again, the length of this pause depends on the number and size of images in Sign A. Once Sign A has loaded, the Player switches immediately to the first frame of Sign A, and so on.

Synchronised Case

The situation is slightly different if the Player is synchronised i.e. it has a ‘Synchronisation Method’ set in Device Admin.  This is usually the case with video-walls. 

To keep ‘in-sync’, the Players rely on consistent timing.  For example, if one Player takes 0.3 seconds to load the next sign, while another Player takes 0.4 seconds, there’s a risk of the Players becoming 0.1 second out-of-sync.  It doesn’t sound much, but if that happened a few times, the wall would soon look very bad indeed!

To even-out these variations, synchronised Players have to make some assumptions.  Specifically, they assume that 1 second is typically enough to load the next sign. This is known as the ‘pre-roll’ allowance.

What if Sign B only takes 0.4 seconds to load on a given Player?  The Player will pause on the final frame of Sign A for the 0.4 seconds while Sign B is loading, then it will switch immediately to the first frame of Sign B. It will then pause on that first frame of Sign B for 0.6 seconds until the 1 second pre-roll allowance has elapsed. When the 1 second is up, Sign B will proceed to play normally.

What if Sign B is very large and takes 1.3 seconds to load?  In this case, the Player will pause on the final frame of Sign A for 1.3 seconds, and then switch immediately to Sign B, but starting it 0.3 seconds into Sign B. As a result, the first 0.3 seconds of Sign B will be skipped.  This behaviour allows all the Players in the wall to remain in-sync, even when there are significant variations in the performance of each Player.

Interactive Case

When playing an interactive sign, a fast response from the Player is paramount.  For example, suppose a user touches a 'Show Me More' button, which is designed to jump to a complex sign elsewhere in the sequence.  If the screen froze for a second or more while the new sign was loading, the experience would feel sluggish. 

To avoid this, the Player pre-loads the entire sequence if one or more of the signs has an element of interactivity.  The great advantage of this is that, once the sequence has loaded, jumping to a different sign is instantaneous.  This provides a much smoother user experience.

The disadvantage (and the reason that this feature is not applied for all sequences) is that loading the entire sequence consumes more graphics memory.  If the memory limit is in danger of being exceeded, the Player will automatically reduce the resolution of the largest images until the whole sequence fits within the limit.  In the case of a long sequence with signs containing lots of large images, this may result in reduced graphics quality.

So, what are the conclusions for signage design?

  1. There will often be a short pause on the final frame of a sign.  For example, if a sign ends with a fade-to-black, there may be a short period of black screen before the next sign starts.  If this is deemed undesirable, consider fading to something else (e.g. white, or a logo), or not using a fade.
  2. In a synchronised scenario (e.g. video-wall), there may be a short pause (up to one second) on the first frame of a simple sign, so consider whether the design of that first frame is suitable for pausing on.
  3. In a synchronised scenario (e.g. video-wall), a sign with lots of large images might not start playing from its very first frame (especially if you are using an older slower device).  So avoid placing any vital animation at the very beginning of a large sign in case it gets skipped over.  Start the animation a little way into the sign instead.
  4. With interactive sequences, the sign transitions are instantaneous, but try to avoid long sequences with lots of large images otherwise the graphics quality may be reduced.

Video Transitions in a Playlist

General Case

As videos are generally more complex than images, they can take longer to ‘cue-up’.  In a non-video-wall situation, there is a 2.5 second delay at the start of each video. 

During this time the video box is not displayed.  It will appear when the first frame of the video is ready to be displayed.

If there are 2 videos in a playlist, say, the video box is removed from the screen once its final frame has been displayed.  It reappears 2.5 seconds later when the first frame of the second video is ready.

Video-Wall Case

When video-wall mode is enabled for a device (in Device Admin), a different video component is used 'under the hood' in the Player.  This video component requires a shorter pre-roll time.

There will be a 1.5 second delay before the first video starts to play.  The video box will not be displayed during this period.  It will appear when the first frame of the video is ready.

If there are 2 videos in a playlist, say, the behaviour at the transition depends on the 'type' of the videos.  Videos are deemed to have the same type if they have:

- The same video resolution.
- The same video frame-rate.
- The same audio sample-rate (if audio is present).
- The same number of audio channels (if audio is present).
- Been uploaded to the SignStix server using ‘Make Compatible’.

If the videos have the same type, the Player can use a feature called 'Seamless Video', which means that the second video starts immediately after the first video has finished with no delay at all.  

If the videos are of different types, the Player will pause on the final frame of the first video for 1.5 seconds, and then start playing the second video.

Note that Seamless Video applies to videos within the same playlist but it does not apply from one sign to another.  So even if all the videos have the same type, there will still be a 1.5 second delay at the start of the second sign before the video box appears.  

So, what are the conclusions for signage and video design?

  1. If the default behaviour (2.5 second pre-roll delay) is undesirable, consider switching the device into video-wall mode to benefit from a shorter pre-roll (1.5 seconds) and the Seamless Video feature.  You are free to use video-wall mode even if the device is not actually part of a video-wall.
  2. Try to ensure that videos in the same playlist have the same 'type' (resolution, frame-rate etc.) so that they can be played seamlessly when in video-wall mode.
  3. If you are trying to synchronise the animation on a sign with the start of the video, please bear in mind the pre-roll delays that apply (to signage and video) in your case. 
    • E.g. if your device(s) are synchronised and in video-wall mode, there is a 1 second pre-roll for the signage and a 1.5 second pre-roll for the video.  So the first frame of the video will appear when the signage animation is at the 0.5 second mark (or frame 13 in Creator).
    • E.g. if your device is not synchronised and not in video-wall mode, there is no signage pre-roll (the sign starts from its beginning as soon as it's loaded), and there is a 2.5 second video pre-roll.  So the video will start when the signage animation is at the 2.5 second mark (or frame 63 in Creator).
  4. A sign’s video box can disappear briefly (while a video is being cued-up), so consider the background of the sign.  If the sign has been designed specifically for a particular video or playlist, you might want to choose a background that matches the video.  If you add a background, make sure that the video box is set (in Creator) to play on the 'Front Plane' so that the background is drawn behind it.
  5. If you are designing a sequence that includes multiple video signs, try to ensure that all those signs have the Video Box on the same plane (front or back).  If the player has to change video planes (from front to back or vice versa) during playback, it can take several seconds at the transition (this is a system limitation).

Special Note for Older 'Wedge' Devices

For customers using EKD08/RK3288 'wedge' devices with single screens (not video walls), please be aware that adding a background (as suggested above) may result in your video being obscured by the background (despite the video being set to play on the 'Front Plane').  If this causes you a problem, there are two options for working round it:

  1. In SignStix Creator, make the video box fractionally smaller so that it doesn't occupy every pixel of the screen e.g. set the size of the box to 'Custom' and then use the View Dimensions panel to set it to 1920 x 1079 (instead of 1920 x 1080).  Alternatively:
  2. In Device Admin, enable video-wall mode for the device (to make a video wall with one screen).