Lightning guide to implementing video wall

Lightning guide to implementing video wall

Lightning provides video wall functionality, so any group of monitors can be grouped together to create large surface . This guide gives readers an understanding of what is involved.

Multiple LIGHTNING devices can be grouped together to form a video wall. Each display requires a Decoder and at least one Encoder source is required.
“video wall” mode is similar to join fast mode, except the Decoders frame buffer is now locked with multiple frame buffers of other Decoders. All the Decoders working in tandem are receiving the same video stream. Each Decoder crops the feed according to relative position within the video wall array and then scaled by either the display for LIGHTNING or LIGHTNING+ will internally scale before sending to the display.
It is important to note that for LIGHTNING does not scale so the Decoders output resolution will match the cropped area resolution, so it is important that the displays can handle “non-standard” resolutions.
In an example of a 2×2 video wall and a 1080p source, each display will receive a 944 x 524 image once 16px of bezel compensation had been applied. The display then needs to be able to scale this to full screen.
LIGHTNING+ on the other hand can scale and maintain a fixed display resolution.
The table below shows available Video wall commands:

COMMAND DESCRIPTION REFERENCE
join wall Used once for each display 4.7.1
join walladv Used once for each display with advanced parameters 4.7.2

2×2 Video wall example
fig 4.7.1

Source LIGHTNING Encoder Source1 1920 x 1080 @ 60Hz
Display1 LIGHTNING Decoder TopLeft Display2 LIGHTNING Decoder TopRight Display3 LIGHTNING Decoder BottomLeft Display4 LIGHTNING Decoder BottomRight
DISPLAY 1
width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((1920 / 2) – 16) = 944 height = ((vertical resolution / number of vertical displays) – Bezel) = ((1080 / 2) – 16) = 524 h_offset = 0 v_offset = 0
LIGHTNING / LIGHTNING+ join wall Source1 Display1 944 524 0 0 or join wall Source1 Display1 960 540 0 0 615 595 [true] or join walladv Source1 Display1 944 524 0 0 944 524 0 0 944 524 60
LIGHTNING+ maintaining 1920×1080 display resolution join walladv Source1 Display1 1920 1080 0 0 944 524 0 0 1920 1080 60

DISPLAY 2
width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((1920 / 2) – 16) = 944 height = ((vertical resolution / number of vertical displays) – Bezel) = ((1080 / 2) – 16) = 524 h_offset = ((horizontal resolution / number of horizontal displays) + Bezel) = ((1920 / 2) + 16) = 976 v_offset = 0
LIGHTNING / LIGHTNING+ join wall Source1 Display2 944 524 976 0 or join wall Source1 Display2 960 540 0 960 615 595 [true] or join walladv Source1 Display2 944 524 976 0 944 524 0 0 944 524 60
LIGHTNING+ maintaining 1920×1080 display resolution join walladv Source1 Display2 1920 1080 976 0 944 524 0 0 1920 1080 60

DISPLAY 3
width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((1920 / 2) – 16) = 944 height = ((vertical resolution / number of vertical displays) – Bezel) = ((1080 / 2) – 16) = 524 h_offset = 0 v_offset = ((vertical resolution / number of vertical displays) + Bezel) = ((1080 / 2) + 16) = 556
LIGHTNING / LIGHTNING+ join wall Source1 Display3 944 524 0 556 or join wall Source1 Display3 960 540 0 540 615 595 [true] or join walladv Source1 Display3 944 524 0 556 944 524 0 0 944 524 60
LIGHTNING+ maintaining 1920×1080 display resolution join walladv Source1 Display3 1920 1080 0 556 944 524 0 0 1920 1080 60

DISPLAY 4
width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((1920 / 2) – 16) = 944 height = ((vertical resolution / number of vertical displays) – Bezel) = ((1080 / 2) – 16) = 524 h_offset = ((horizontal resolution / number of horizontal displays) + Bezel) = ((1920 / 2) + 16) = 976 v_offset = ((vertical resolution / number of vertical displays) + Bezel) = ((1080 / 2) + 16) = 556
LIGHTNING / LIGHTNING+ join wall Source1 Display4 944 524 976 556 or join wall Source1 Display4 960 540 960 540 615 595 [true] or join walladv Source1 Display4 944 524 976 556 944 524 0 0 944 524 60
LIGHTNING+ maintaining 1920×1080 display resolution join walladv Source1 Display4 1920 1080 976 556 944 524 0 0 1920 1080 60

3×3 Video wall example
fig 4.7.2

Source LIGHTNING Encoder Source1 3840 x 2160 @ 30Hz
Display1 LIGHTNING Decoder TopLeft
Display2 LIGHTNING Decoder TopCenter
Display3 LIGHTNING Decoder TopRight
Display4 LIGHTNING Decoder MiddleLeft
Display5 LIGHTNING Decoder MiddleCenter
Display6 LIGHTNING Decoder MiddleRight
Display7 LIGHTNING Decoder BottomLeft
Display8 LIGHTNING Decoder BottomCenter
Display9 LIGHTNING Decoder BottomLeft
DISPLAY 1
width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((3840 / 3) – 16) = 1264
height = ((vertical resolution / number of vertical displays) – Bezel) = ((2160 / 3) – 16) = 704
h_offset = 0
v_offset = 0
LIGHTNING / LIGHTNING+
join wall Source1 Display1 1264 704 0 0
or
join walladv Source1 Display1 1264 704 0 0 1264 704 0 0 1264 704 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display1 1920 1080 0 0 1264 704 0 0 1920 1080 30
DISPLAY 2

width = ((horizontal resolution / number of horizontal displays) – (Bezel * 2)) = ((3840 / 3) – (16 * 2)) = 1248
height = ((vertical resolution / number of vertical displays) – Bezel) = ((2160 / 3) – 16) = 704
h_offset = ((horizontal resolution / number of horizontal displays) + Bezel) = ((3840 / 3) + 16) = 1296
v_offset = 0
LIGHTNING / LIGHTNING+
join wall Source1 Display2 1248 704 976 0
or
join walladv Source1 Display2 1248 704 1296 0 1248 704 0 0 1248 704 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display2 1920 1080 1296 0 1248 704 0 0 1920 1080 30

DISPLAY 3

width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((3840 / 3) – 16) = 1264
height = ((vertical resolution / number of vertical displays) – Bezel) = ((2160 / 3) – 16) = 704
h_offset = (((horizontal resolution / number of horizontal displays) * 2) + Bezel) = (((3840 / 3) * 2) + 16) = 2576
v_offset = 0
LIGHTNING / LIGHTNING+
join wall Source1 Display3 1264 704 2576 0
or
join walladv Source1 Display3 1264 704 2576 0 1264 704 0 0 1264 704 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display3 1920 1080 2576 0 1264 704 0 0 1920 1080 30

DISPLAY 4
width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((3840 / 3) – 16) = 1264
height = ((vertical resolution / number of vertical displays) – (Bezel *2)) = ((2160 / 3) – (16 *2)) = 688
h_offset = 0
v_offset = ((vertical resolution / number of vertical displays) + Bezel) = ((2160 / 3) + 16) = 736
LIGHTNING / LIGHTNING+
join wall Source1 Display4 1264 688 0 736
or
join walladv Source1 Display4 1264 688 0 736 1264 688 0 0 1264 688 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display4 1920 1080 0 736 1264 688 0 0 1920 1080 30

DISPLAY 5

width = ((horizontal resolution / number of horizontal displays) – (Bezel * 2)) = ((3840 / 3) – (16 * 2)) = 1248
height = ((vertical resolution / number of vertical displays) – (Bezel *2)) = ((2160 / 3) – (16 *2)) = 688
h_offset = ((horizontal resolution / number of horizontal displays) + Bezel) = ((3840 / 3) + 16) = 1296
v_offset = ((vertical resolution / number of vertical displays) + Bezel) = ((2160 / 3) + 16) = 736
LIGHTNING / LIGHTNING+
join wall Source1 Display5 1248 688 1296 736
or
join walladv Source1 Display5 1248 688 1296 736 1248 688 0 0 1248 688 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display5 1920 1080 1296 736 1264 688 0 0 1920 1080 30

DISPLAY 6

width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((3840 / 3) – 16) = 1264
height = ((vertical resolution / number of vertical displays) – (Bezel *2)) = ((2160 / 3) – (16 *2)) = 688
h_offset = (((horizontal resolution / number of horizontal displays) * 2) + Bezel) = (((3840 / 3) * 2) + 16) = 2576
v_offset = (((vertical resolution / number of vertical displays) + Bezel) = ((2160 / 3) + 16) = 736
LIGHTNING / LIGHTNING+
join wall Source1 Display6 1264 688 2576 736
or
join walladv Source1 Display6 1264 688 2576 736 1264 688 0 0 1264 688 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display6 1920 1080 2576 736 1264 688 0 0 1920 1080 30

DISPLAY 7

width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((3840 / 3) – 16) = 1264
height = ((vertical resolution / number of vertical displays) – Bezel) = ((2160 / 3) – 16) = 704
h_offset = 0
v_offset = (((vertical resolution / number of vertical displays) * 2) + Bezel) = (((2160 / 3) * 2) + 16) = 1456
LIGHTNING / LIGHTNING+
join wall Source1 Display7 1264 704 0 1456
or
join walladv Source1 Display7 1264 704 0 1456 1264 704 0 0 1264 704 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display7 1920 1080 0 1456 1264 704 0 0 1920 1080 30

DISPLAY 8

width = ((horizontal resolution / number of horizontal displays) – (Bezel * 2)) = ((3840 / 3) – (16 * 2)) = 1248
height = ((vertical resolution / number of vertical displays) – Bezel) = ((2160 / 3) – 16) = 704
h_offset = ((horizontal resolution / number of horizontal displays) + Bezel) = ((3840 / 3) + 16) = 1296
v_offset = (((vertical resolution / number of vertical displays) * 2) + Bezel) = (((2160 / 3) * 2) + 16) = 1456
LIGHTNING / LIGHTNING+
join wall Source1 Display8 1248 704 1296 1472
or
join walladv Source1 Display8 1248 704 1296 1456 1248 704 0 0 1248 704 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display8 1920 1080 1296 1456 1248 704 0 0 1920 1080 30

DISPLAY 9

width = ((horizontal resolution / number of horizontal displays) – Bezel) = ((3840 / 3) – 16) = 1264
height = ((vertical resolution / number of vertical displays) – Bezel) = ((2160 / 3) – 16) = 704
h_offset = (((horizontal resolution / number of horizontal displays) * 2) + Bezel) = (((3840 / 3) * 2) + 16 = 2576
v_offset = (((vertical resolution / number of vertical displays) * 2) + Bezel) = (((2160 / 3) * 2) + 16) = 1456
LIGHTNING / LIGHTNING+
join wall Source1 Display9 1264 704 2576 1456
or
join walladv Source1 Display9 1264 704 2576 1456 1264 704 0 0 1264 704 30
LIGHTNING+ maintaining 1920×1080 display resolution
join walladv Source1 Display9 1920 1080 2576 1456 1248 704 0 0 1920 1080 30