Optimizing Video Quality
BrightSign players are capable of high-quality video playback at 60 frames per second—without dropped frames, hiccups, or video corruption. However, since the digital A/V landscape includes a diverse array of formats, codecs, connectors, video modes, and resolutions, you can easily degrade the quality of video playback by not configuring your digital signage content properly. This tech note outlines the factors that affect video quality and the steps you can take to ensure that you get the best results.
Overview
To achieve optimal video quality, you must minimize the amount of processing that the player and display device must perform on the video:
Avoid interlaced video modes: Interlaced video modes (e.g. 1920x1080x60i) result in severe performance degradation, which will be especially noticeable if the video displays text. Note that the LS422, HD120, HD220, and HD1020 players automatically use interlaced video modes to display 1080p50, 1080p59.94, and 1080p60 video.
Match the video frame rate to the native frame rate of the display: The progressive frame rate of the video should be the same as (or a multiple of) the frame rate of the display. For example, if a display accepts a maximum frame rate of 50p or 75p, then a video at 25p will perform well. Video at 59.94p will work with 29.97p output, but every other video frame will be dropped.
Avoid scaling video unnecessarily: Upscaling or downscaling the video will result in some performance degradation, though the effects may not be noticeable. When practical, match the resolution of the authored content to the native resolution of the display or widget.
Avoid using overscan when possible: The best solution is to select a video mode that doesn't overscan at the chosen output.
Use an optimal bitrate: The maximum recommended CBR (constant bit rate) is 25Mbps for HD, LS, XDx30, and XDx32 players, while the recommended CBR for XT, 4K, XDx34, and XDx33 players is 30 to 40 Mbps.
You may also encounter problems with video quality if you have a bad encode. Try re-encoding the video or use a different application to encode the video.
Interlacing
Interlaced video modes (e.g. 1080i) are a legacy of cathode ray tube (CRT) TVs and should be avoided in all circumstances. While CRT TVs show an interlaced signal natively, LED, LCD, and Plasma displays must de-interlace the input prior to displaying it, thereby reducing the video quality. Many displays (especially monitors intended for use with PCs) do not de-interlace video properly, causing video flicker—even with static images.
We do not recommend using interlaced video; however, if you must use interlaced video, you can specify whether the de-interlacing should be handled by the display or the BrightSign player:
To have the display handle the de-interlacing, select an interlaced video mode in BrightAuthor (e.g. 1920x1080x50i) in the New project window or in the File > Presentation Properties > Main tab.
To have the player handle the de-interlacing, select a progressive mode with the appropriate resolution (e.g. 1920x1080x50p).
The LS422, HD120, HD220, and HD1020 players automatically use interlaced video modes to display 1080p50, 1080p59.94, and 1080p60 video.
Codecs and Formats
BrightSign players support numerous video codecs and container formats, but some applications require specific video codecs/formats:
Seamless Looping: For XTx44/43, XDx34/33, HDx24/23, 4Kx42, and LS424/423 players, we recommend using an .mp4 or .mov  file with H.265 encoded video (though H.264 will work as well). For other models, use an .mp4 or .mov file with H.264 encoded video. If the looping video includes audio, use PCM audio encoded with the SOWT codec.
BrightWall and Enhanced Synchronization: For XTx44/43, XDx34/33, HDx24/23, 4Kx42, and LS424/423 players, we recommend using an .mp4 or .mov file with H.265 encoded video (though H.264 will work as well). For other models, use an .mp4 or .mov file with H.264 encoded video. It is also possible to use a transport stream (.ts file), but the video must begin with a presentation timestamp (PTS) of zero.
Media Streaming: If you’re using a BrightSign player to stream content to other networked devices, the video must be formatted as a transport stream (.ts) file.
Overscan
Overscan, which is a type of upscaling, is performed on videos to account for variation in the screen edges of different TV models. The overscan mode on BrightSign players upscales the video by approximately 5%. Most modern TVs have an "exact scan" mode that eliminates the need for overscan entirely. Overscan can be disabled in BrightAuthor by selecting No overscan – use full screen area in the New project window or in the Edit > Layout tab (overscan can also be disabled in BrightScript).Â
Overscan is only needed for TV modes (e.g. 720p, 1080p), and should never be applicable for VGA modes (e.g. 1370x768, 1600x1200); however, there is some inconsistency in the way that different TVs and monitors deal with overscan settings.
Display manufacturers use different terminology to refer to no overscan:
Panasonic: “1:1 mode”
Samsung/LG: "just scan"
Toshiba: "exact scan"
Vizio: No overscan settings, but the “wide” display mode will disable overscan.
Bitrates
Guidelines by Player Model
Product | Maximum Bitrates for 4K, HD, and other video* |
---|---|
XTx44 | 95Mbps |
XDx34 | 95Mbps |
HDx24 | 50Mbps |
XTx43 | 50Mbps |
XDx33 | 50Mbps |
4Kx42 | 50Mbps |
LS424 | 50Mbps |
HDx23 | 50Mbps |
LS423 | 50Mbps |
*Values are for regular file playback and can be seen as playback in ideal conditions. See Performance Limiters, below, for more information.
Performance Limiters
The bitrates quoted are the maximum supported where the bitrate is calculated as a rolling average over a 12 frame period. Users can see the bitrate for a file plotted in this way in the DWS (see the Evaluating File Bitrate/Encoding section below).Â
The bitrate is reduced if:
Network playback is used. For example, UDP streaming requires the CPU to process the packets which reduces bitrates.
Rotating video on the screen consumes CPU, which doesn't really affect bitrate for file playback but will impact networking playback.Â
If video is decrypted using AesCtr or AesCtrHmac modes, performance will be reduced by about 10Mbps across all platforms during video playback (TsAesCbcRbt, TsAesCbcCbt, andTsAesEcb decryption will not reduce performance).
Portrait Video
When a BrightSign player displays a rotated video (at 90 degrees, 270 degrees, etc.), it consumes CPU and graphics-processor cycles to transpose the pixels of each video frame before sending it to the display. Compared to standard playback, rotated video places a substantially greater burden on CPU and memory bandwidth in the real-time display pipeline, so video playback can become overloaded and exhibit video glitches more readily than standard video playback. This section provides performance and playback guidelines for portrait video.
Performance Limiters
When playing portrait video, other real-time system tasks can, depending on the player model, interfere with playback. These tasks include the following:
2D graphics operations: Tickers, HTML graphics, and large image files
Network Traffic: Performing large and/or frequent networked updates (e.g. via the asset pool)
USB audio
When building presentations, you need to consider these secondary tasks and their interaction with the hardware restrictions on your player model (outlined below). If your portrait video is exhibiting glitchy playback, you may need to reduce or eliminate such tasks or upgrade to a more performant player model.
Encoding Portrait Content
The following encoding specs let you optimize playback of portrait content:
ffmpeg -i tide1080.mp4 -c:v libx264 -x264-params b_pyramid=0 tide1080-1.mp4
Guidelines by Player Model
XC5, XT5
The XC5 and XT5 can output portrait video at 4K and at HD (1080x1920 at 60p). The XC4055 can play videos in landscape mode at resolutions up to 8K at 60fps (H.265), and the XC2055 can play videos in landscape mode at resolutions up to 8K at 30fps (H.265).
Both players can support playback of videos at very high bitrates (up to 400 Mbs depending on the encoding parameters).
Basic encoding guidelines can be found on this page.
XD5, LS5, HS5, and HD5
These players can output portrait HD video (1080x1920 at 60p). The XD5 and HD5 can output portrait video at 4Kp30.
XTx44, XTx43, XDx34, XDx33
The XTx44, XTx43, XDx34, and XDx33 models can output portrait HD video (1080x1920) at 60p. Multiple portrait video windows are supported (up to 60p for both the source file and the output), but the total area of all video windows should not exceed 1080x1920.
HDx24, HDx23
The HDx24 and HDx23 models can output portrait HD video (1080x1920) at 60p.
The framerate of the source video should not exceed 30p.
LS424
The LS424 can output portrait HD video (1080x1920) at 60p.Â
The source video must be encoded as H.265, and the framerate of the source video should not exceed 1080p30.
LS423
The LS423 can output portrait HD video (1080x1920) at up to 50p. If there are additional system tasks (e.g. a ticker), the display output may need to be reduced to 1080p30 or less.
The framerate of the source video should not exceed 1080p30.
HTML Video
If your HTML page creates <video>
tags dynamically, it can be easy to inadvertently maintain more than one active video player–even if the extra video players are not visible. If videos are displayed in portrait mode, additional video players will quickly exhaust CPU and graphics resources on the player.
To destroy an unused video player, clear the src
attribute and reload the element using .load
. The firmware will then synchronously release the hardware resources assigned to that element.
video.src = ""
video.load()
To play a single video repeatedly, set the loop
 attribute on the corresponding HTML5 <video> element to true
. This will often give better results than attempting to loop the video "by steam" in JavaScript. If the video has been authored correctly, the loop
 attribute will produce a seamless loop from the last frame back to the first with zero delay.
This example shows how to seamlessly loop video for an HTML5 video element without introducing black frames:
<video width="320" height="240" autoplay loop>
<source src="movie.mp4" type="video/mp4" />
Your browser does not support the video tag.
</video>
Mosaic Mode
Mosaic mode does not currently support portrait video.
Interlaced Video
Portrait video is not supported with interlaced video output modes (e.g. 1080i).
Evaluating File Bitrate/Encoding
If a video file is within specs but doesn’t play back smoothly, users often check it with a tool like Media Info but Media info is limited since it is calculated over the entire duration of the file. XT3, XD3 and 4K players since BOS version 6.2 have a built-in media analysis tool that calculates an ABR streaming over a one second time period (the green line in Image 1, below) and over 12 frames (the red line). This is more helpful to assess whether or not a file bitrate is within spec.Â
The blue line in Image 1 is the expected max bitrate, and the graph shows that a file that seemed ok in Media Info exceeds the 30Mbps ceiling many times during playback. The red line should never exceed 80Mbps. To avoid this, you can keep your encoding to 15Mbps in Adobe Media Encoder. However, depending on the video file content and the encoder, you can generate a H.265 video which would loop seamlessly with a ABR that peaks at 35Mbps. See, for example, this ffmpeg command:
To access the media analysis tool:
In the BrightAuthor DWS, find your file and click on the file icon.
In the new page, add "&advanced=true" to the end of the URL and press Enter.
Scroll to the bottom of the page to find Analyze media file and select Go.Â
The analysis result page will display in your browser (it may take a while depending on the file size).
Â