Lightwing has advanced capabilities for building multi-panel displays. Not just for video walls, but true multi-panel multimedia sign walls. Lightwing features a distributed parallel processing architecture where each panel of the display is controlled by a separate Lightwing player, typically attached to the back of each panel. This guide details the extra steps required to build a multi-panel display beyond the instructions for single panel applications.
Rear View of a 2 x 2 Video Wall using Four 43 Inch Panels with Lightwing Players
Content Creation for Multi-Panel Displays
One of the huge advantages of the Lightwing architecture is that content automatically adapts to displays of any size and any aspect ratio. Lightwing automatically scales fonts, images, video and 3D objects to fit any display, without editing the content files.This greatly simplifies the process of creating content for multi-panel displays, because content can be developed on a single panel and then deployed to a larger display by simply copying the files to the players. The same content files are copied to all the players that comprise a display without editing. Lightwing automatically crops and scales the content for each panel based on a configuration file. Only the configuration file must be edited individually for each player, and this is only done once, when the display is built.
Fonts, boxes and 3D objects are scaled intelligently, without distortions due to differences in panel orientations or aspect ratios. For example, displays with extreme aspect ratios (such as video ribbons) do not distort fonts, boxes or 3D objects. However, if the display size is increased vertically (by adding more panels), fonts are automatically substituted with larger fonts to maintain their apparent sizes relative to the display.
Automatic Content Scaling and Rotation
- Automatic Rotation of Background Images and Video for Portrait and Landscape Orientations
- Automatic Scaling of Background Images and Video to Fit Display
- Automatic Scaling of Fonts and 3D Objects for Multi-Panel Displays
- Pixel-Precision Automatic Bezeling (Over-Scan)
Some features of Lightwing should not be used when creating content intended for multi-panel displays. Lightwing can display 3D objects and text with either orthographic or perspective projection views. Orthographic mode is the default in all cases. Perspective projection views should not be used in content for multi-panel displays because this feature is not yet fully supported on multi-panel displays.
Configure Lightwing for Multi-Panel Displays
Each Lightwing player must be configured for its part of the overall display. The Lightwing configuration file is the only file which must be edited individually for each player (and the file to set static IP addresses). For this reason, it is located in the Lightwing root folder, so it will not be overwritten by content file updates. Use a command shell to run the nano editor to modify this file:
This configuration file contains parameters that will usually be different for every player. Most of these parameters define the physical layout, orientation and capabilities of the display and the position of this player in the display. Use the provided default values for any parameters you are unsure about. The parameters which must usually be configured at least once are portrait, panels and section.
Summary of Lightwing Configuration for Multi-Panel Displays
portrait: yes Orientation of the panels. The overall display is not necessarily the same. (No: landscape, Yes: portrait). panels: 4, 1 Number of horizontal and vertical panels for multi-panel display (Use 1, 1 for a single panel display). section: 0 Index of this panel/player in a multi-panel display (zero designates the master player). bezels: 10,10 Horizontal and vertical panel bezel sizes in pixels to over-scan for multi-panel display. multicast: 22.214.171.124 IP address to multicast UDP for multi-panel display communications. initiate: 10:00 Time interval to wait for multiple players to synchronize (days:hours:minutes:seconds). latency: 5 Local network communications latency compensation time in frames for multi-panel display.
The portrait parameter defines the orientation of the panels. Yes means the panel has a portrait (vertical) orientation and no means the panel has a landscape (horizontal) orientation. All of the panels of a display must have the same orientation, which is not necessarily the same as the orientation of the overall display.
The panels parameter defines the horizontal and vertical sizes, respectively, of the overall display in panel counts. This parameter must be the same for all the players in a multi-panel display.
The section parameter defines which of the panels in the display this player will control. This parameter must be unique for every player in a multi-panel display. The top, left panel of the display must be assigned section 0, which also designates it as the master player in the array. All of the remaining players are slave players and will receive timing synchronization packets from the master. The remaining players must have their section parameters assigned as increasing integers for the panels in the pattern of left to right and top to bottom in the multi-panel display.
The bezels parameter defines how large the image for the panel will be over-scanned in pixel units. The first value is for the left and right bezels and the second value is for the top and bottom bezels. This is used to compensate for the black bezel around each panel so that motion across the bezel boundaries with neighboring panels will appear smoother. Less expensive panels typically have larger bezels and may require values as high as 50, 50. High-end panels with micro bezels will look better with lower values. Determining the best values for your panels will require some experimentation with content with significant motion, such as TestTickers.lws. Note that many digital signage panels also have bezeling features built-in, which is usually programmed using an on-screen menu and remote control. However, those features may not allow adjustment for the four edges individually. Lightwing only applies bezeling to edges which are actually adjacent to neighboring panels, which will produce better results.
The multicast parameter defines the IP address used to multicast UDP for multi-panel display communications. This can be changed if required by your network administrator, but this parameter must be the same for all the players in a multi-panel display.
The initiate parameter defines the length of time that Lightwing will wait to receive communications from the other players on the local network upon start up. The master player must receive a reply from all of the slave players before content play can begin. For slave players, this parameter defines how long they will wait to receive a reply from the master player. This value must be large enough to allow time for all of the players to boot and begin content play. If any player exceeds this time, all of the players must be restarted. This parameter can be set to zero to disable communications initiation at startup, in which case this player will not be synchronized with the other players.
The latency parameter defines the amount of time to compensate for the latency of the local network, in frame time units. Determining the best value for your network will require some experimentation. Increase this value if the master player runs ahead of the slave players. Decrease this value if the master player runs behind the slave players.
Content Updates for Multi-Panel Displays
When building a multiple panel display using multiple Lightwing players, it is essential that all of the players start and play the same content. Therefore, the same content files must be copied to all of the players and they must be configured to start with copies of the same Lightwing script. Use the UpdatePlayers batch to automate copying new content to all of your players.
UpdatePlayers.bat is provided with the Lightwing SDK for Windows. It will copy a single file to multiple players with static IP addresses assigned. This makes updating a group of players easier, but this batch file must be edited before it can be used to define the assigned IP addresses of the players on your network. This is a Windows batch file, so run it in a Windows command shell:
UpdatePlayers Default.lws scripts
The first parameter to this batch is the name of the file to copy to the players. The second parameter is the destination folder name on the players. This is optional and case sensitive. If not specified, the file will be copied to the updates folders, by default, and Lightwing will move the file to the correct folder at the next update interval and restart. If a zip file is copied to the updates folder, Lightwing will automatically unzip it, move the unzipped files to their correct folders and then restart. Lightwing determines the correct destination folder of each file automatically based on the file name extensions.
Splitting 4K Video for Multi-Panel Displays
Video quality is degraded when it is stretched (scaled) across a large multi-panel display. The best solution to this problem is to use 4K video (which has much higher resolution) and split it into a set of videos which can be displayed simultaneously on panels, which individually are limited to 1080p resolution. Lightwing automatically synchronizes videos when they are deployed on a set of players that comprise a multi-panel display.
Many different panel configurations are possible with Lightwing. It’s best to choose a configuration which has close to the same aspect ratio as your source 4K video. However, this is not required because Lightwing automatically rotates and scales video content as needed. In this example, the 4K video with 16:9 (1.777) aspect ratio is split into a set of 4 videos which are rotated and scaled to display on a set of 4 portrait panels with 1080p resolution. The bottom 240 lines of the video are cropped and the final aspect ratio is 2.25.
Split 4K Video for 4 x 1 Portrait Panel Display Example
ffmpeg -i Capri.mp4 -vf crop=960:1920:0:0,transpose=2 -vbsf h264_mp4toannexb -f h264 CapriPortrait1.lv2 -vf crop=960:1920:960:0,transpose=2 -vbsf h264_mp4toannexb -f h264 CapriPortrait2.lv2 -vf crop=960:1920:1920:0,transpose=2 -vbsf h264_mp4toannexb -f h264 CapriPortrait3.lv2 -vf crop=960:1920:2880:0,transpose=2 -vbsf h264_mp4toannexb -f h264 CapriPortrait4.lv2
Another common application is to split 4K video for display on a 2 x 2 panel display where the panels have landscape orientations. In this case, no cropping, rotation or scaling of the video is needed.
Split 4K Video for 2 x 2 Landscape Panel Display Example
ffmpeg -i Capri.mp4 -vf crop=1920:1080:0:0 -vbsf h264_mp4toannexb -f h264 Capri1.lv2 -vf crop=1920:1080:1920:0 -vbsf h264_mp4toannexb -f h264 Capri2.lv2 -vf crop=1920:1080:0:1080 -vbsf h264_mp4toannexb -f h264 Capri3.lv2 -vf crop=1920:1080:1920:1080 -vbsf h264_mp4toannexb -f h264 Capri4.lv2
Since Lightwing requires a frame image captured from each video. The ffmpeg command can also be used to create these images directly in the PNG format.
Create Frame Capture Image Example
ffmpeg -i CapriPortrait.lv2 -vframes 1 CapriPortrait.png