Technical Topics

Optimize Video Quality

22min
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 classic (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 formats & codecs docid\ knsffwmtd4nswxm4bup0i , 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 classic 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 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 optimize video quality docid\ h730drksg mjtzfmu 1gx 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, and tsaesecb 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 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 video formats & codecs docid\ knsffwmtd4nswxm4bup0i 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 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 your browser does not support the video tag 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) evaluate 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 30mbps video encode png 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 /users/anon/ffmpeg/ffmpeg8/ /ffmpeg probesize 500m analyzeduration 500m loglevel verbose i /users/anon/ffmpeg/encode/source/company/idle applepro422hq mov pix fmt yuv420p an s\ v 0 1920x1080 preset\ v ultrafast c\ v libx265 x265 params bitrate=35000\ vbv maxrate=35000\ vbv bufsize=9000\ bframes=2\ open gop=0\ keyint=60 /users/anon/ffmpeg/encode/source/company/bitrate 35mbps x265 seamless loop mp4 v4 mp4 to access the media analysis tool in the brightauthor classic 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 secret url png scroll to the bottom of the page to find analyze media file and select go go analyse png the analysis result page will display in your browser (it may take a while depending on the file size) analysis png