Multi-output

Introduction
The iBX440 digital signage player introduces an innovative multi-output feature, designed to expand the possibilities for dynamic and captivating display setups by seamlessly synchronize and drive up to four HDMI video outputs simultaneously, each at up to 4K@60Hz resolution. This cutting-edge feature empowers users to display the same content on multiple screens, effortlessly create stunning video walls, or drive LED screens at non-standard resolutions.
With the ability to configure each video output independently, users can also combine screens at different resolutions and/or rotations. It is important to note that when different video timings are being used, the output video signals may not be perfectly synchronized.
The user scenarios described below are provided purely as examples to illustrate how to employ the multi-output feature. Most require a certain ARYA plan or Feature Set type to be activated on the player, and, in some cases, you might also need to write and apply a custom configuration file onto the player.
Content mirroring
In this scenario, the content is created for one screen and the player is configured to replicate that content on four screens, simultaneously. All the screens must either be in landscape or portrait mode.
On-cloud deployments | Self-Manage deployments | |
---|---|---|
ARYA plan | Any | Not applicable |
Feature Set | Not required | WIDGETS Feature Set or higher depending on the type of content |
Player configuration | See how to set up the iBX440 player for content mirror outputting in ARYA. | A configuration file must be written and applied onto the player; examples are provided below. |
Landscape orientation
In this first example, all the screens are in landscape mode.

- In Elementi, create a single-screen project as usual. Once done, publish the project onto the iBX440 player.
- To configure the iBX440 player to output the same content on four screens, each at 4K@60Hz resolution and landscape mode, use the following configuration file:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<resolution>3840x2160</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<display-orientation>horizontal</display-orientation>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2,card0-HDMI-A-3,card0-HDMI-A-4</video-output-selector>
</configuration>
Here is a quick explanation of the tags used above:
<display-video-mode/>
resets the player's video output mode.<display-video-mode>
sets the player's video output mode, matching the resolution and the vertical refresh rate of the screen.<display-orientation>
sets the orientation of the display connected to the player to horizontal/landscape mode.; other possible values are: “rotateRight”, “rotateLeft”, “rotate180”, “flipVert”, or “flipHor”.<video-output-selector>
enables the four video outputs of the player; the values "card0-HDMI-A-1", "card0-HDMI-A-2", ... correspond to the player's HDMI ports, labeled "HDMI1", "HDMI2"...

Portrait orientation
Let's say that we want the screens to be in portrait mode instead.

The steps to follow are the same as above, except that:
- When configuring the Elementi project, select the project's format as "9:16".
- In the configuration file, use "rotateRight" or "rotateLeft" within the
<display-orientation>
tag, matching whether the screens are rotated counterclockwise or clockwise. The configuration file would look like this:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<resolution>3840x2160</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<display-orientation>rotateRight</display-orientation>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2,card0-HDMI-A-3,card0-HDMI-A-4</video-output-selector>
</configuration>
8K video wall (2x2)
In this scenario, the player is configured to drive a 2x2 video wall, made out of 4K UHD screens. The content is created for the four screens as a whole, thus achieving an 8K UHD resolution. All the screens must either be in landscape or portrait mode.
On-cloud deployments | Self-Manage deployments | |
---|---|---|
ARYA plan | ARYA ENTERPRISE or PREMIUM plan | Not applicable |
Feature Set | Not required | SYSTEMS Feature Set |
Player configuration | See how to set up the iBX440 player for a video wall in ARYA. | A configuration file must be written and applied onto the player; examples are provided below. |
Landscape orientation

Let's look at a 2x2 video wall made out of four 55-inch screens, in landscape mode, each outputting a 4K resolution content. The screens are narrow-bezel, with an asymmetrical frame of 2.25 mm (T/L) and 1.25 mm (B/R) – this means there's a "gap" of 3.5 mm between the screens that must be taken into consideration when creating the content and mapping it to the player's outputs.

Before configuring the player, we'll first focus on preparing the content:
- Create a multiscreen project in Elementi.
- Select the model as "iBX440 / 8K Partner Player".
- Select the license as "Systems".
- Select the format as "Multiscreen Array".
- For "Multiscreen", select "One player with multiple outputs".
- Input the screen details.
- Enter the number of rows (2) and columns (2).
- Enter the screen diagonal as 55".
- Select the screen aspect ratio as "16:9", since the screens are in landscape mode.
- The vertical/horizontal frame (bezel) is per screen, so enter "1.75mm" (i.e.,
3.5 / 2
) in these fields. - For screen height, select 2160, since the output resolution is 4K.
- Import your media and compose the content as needed.
- Click the "Menu" → "Projects" → "Export Multiscreen Configuration..." option to generate a CSV file containing the screens' configuration.
- Open that file and find the left and top coordinates of each screen.
- Now that we determined the offset of each screen relative to the multi-output canvas, we can write the player's configuration file, as following:
<?xml version="1.0"?> <configuration version="2.2"> <display-video-mode/> <display-video-mode> <resolution>3840x2160</resolution> <vertical-freq>60</vertical-freq> </display-video-mode> <display-orientation>horizontal</display-orientation> <video-output-selector>card0-HDMI-A-1:0:0,card0-HDMI-A-2:3851:0,card0-HDMI-A-3:0:2171,card0-HDMI-A-4:3851:2171</video-output-selector> </configuration>
- Apply this configuration file on the player and wait for the player to reboot.
- Publish the project onto the iBX440 player.

- Comparing to the example above, the values in the
<video-output-selector>
tag are provided in the form ofconnectorID:x:y
, wherex
(left-to-right) andy
(top-to-bottom) are the coordinates in pixels of that screen top-left pixel, relative to the top-left pixel (0,0) of the multi-output canvas. If the value for x or y is omitted, it is assumed to be zero. - To manually calculate how many pixels would fit in the 3.5mm gap, use this formula:
3.5 * 3840 / screen_width_mm
, then use that value to determine the offset in pixels of each screen relative to the multi-output canvas top-left pixel.
Portrait orientation

Taking the video wall described above, but let's say that we want the screens to be in portrait mode instead.
The steps to follow are almost the same as above, with just a few differences:
- At step #2, select the screen aspect ratio as "9:16" and for screen height, select 3840.
- In the configuration file, use "rotateRight" or "rotateLeft" within the
<display-orientation>
tag, matching whether the screens are rotated counterclockwise or clockwise; the configuration file would look like this:<?xml version="1.0"?> <configuration version="2.2"> <display-video-mode/> <display-video-mode> <resolution>3840x2160</resolution> <vertical-freq>60</vertical-freq> </display-video-mode> <display-orientation>rotateRight</display-orientation> <video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2:3851,card0-HDMI-A-3:0:2171,card0-HDMI-A-4:3851:2171</video-output-selector> </configuration>

<display-video-mode>
and <video-output-selector>
tags are the same as in the first example – that's because it's only the content that actually gets rotated, in the opposite direction as the screens' orientation, while the video output signal remains as standard 16:9.LED video wall
In this scenario, the player is configured to drive a wide LED video wall having a resolution well above 4K. One or more LED display controllers (video processors) may be needed, depending on the total resolution of the LED wall and how many 4K video inputs are supported by the LED controller.
On-cloud deployments | Self-Manage deployments | |
---|---|---|
ARYA plan | ARYA ENTERPRISE | Not applicable |
Feature Set | SYSTEMS Feature Set | SYSTEMS Feature Set |
Player configuration | See how to set up the iBX440 player for an LED video wall in ARYA. | A configuration file must be written and applied onto the player; examples are provided below. |
Wide LED wall

Let's say we have a wide LED video wall made of tiles of 256x256 pixels for a total resolution of 11264x2048 pixels. Since the LED wall width is between 7680 and 11520, and its height is less than 2160, it means that we'll need three outputs on the player side. These will feed into one or more LED screen controllers (video processors), depending on how many 4K video inputs are supported by the LED controller.

Preparing the content in Elementi is pretty straightforward:
- Create a new project and make sure to:
- Select the model as "iBX440 / 8K Partner Player".
- Select the license as "Systems".
- Select the format as "Custom".
- Set the width to 11264 and height to 2048.
- Import your media and compose the content as needed.
- Once done, publish the project onto the iBX440 player.
The next step is to prepare the configuration file. We'll use the <video-output-selector>
tag to enable three outputs, aligned one after the another in a line – this means a total output resolution of 11520x2160 pixels, so larger than the resolution of the LED wall. To prevent the content to be scaled and centered, we'll use a <canvas>
tag, containing the width and height of the LED wall resolution. So, the configuration file for this case would be the following:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<resolution>3840x2160</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<display-orientation>horizontal</display-orientation>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2:3840,card0-HDMI-A-3:7680</video-output-selector>
<canvas>11264 2048</canvas>
</configuration>
Tall LED wall

Taking the LED wall described above, but let's say that we want it to be in portrait mode instead, like a tower.
The steps to follow are almost the same as above, with just a few differences:
- Create a new project and make sure to:
- Select the model as "iBX440 / 8K Partner Player".
- Select the license as "Systems".
- Select the format as "Custom".
- Set the width to 2048 and height to 11264.
- Import your media and compose the content as needed.
- Once done, publish the project onto the iBX440 player.
In the configuration file, use "rotateRight" or "rotateLeft" within the <display-orientation>
tag, matching whether the LED wall is rotated counterclockwise or clockwise.
The configuration file would look like this:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<resolution>3840x2160</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<display-orientation>rotateRight</display-orientation>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2:3840,card0-HDMI-A-3:7680</video-output-selector>
<canvas>11264 2048</canvas>
</configuration>

<display-video-mode>
, <video-output-selector>
, and <canvas>
tags are the same as in the first example – that's because it's only the content that actually gets rotated, in the opposite direction as the LED wall orientation, while the video output signal remains as standard 16:9.Custom shape video wall
DSaaS deployments | Self-Manage deployments | |
---|---|---|
ARYA plan | ARYA ENTERPRISE | Not applicable |
Feature Set | SYSTEMS Feature Set | SYSTEMS Feature Set |
Player configuration | A configuration file must be written and applied onto the player; examples are provided below. |
Staircase LED wall

This time, we want to create a staircase-shaped video wall composed of four LED displays, each having a resolution of 2816x2048 pixels, and positioned on top of the other with a 25% horizontal offset, like shown in the image on the right.
The first step is to determine the canvas size:
- For the total width, we must consider the horizontal offset of each LED block of
2816 * 0.25 = 704
pixels, resulting in2816 + 3 * 704 = 4928
pixels. - The total height is
4 * 2048 = 8192
pixels.



On the Elementi side, we could prepare a 4928 x 8192 custom-format project, as above, but this time will be using a Multiscreen Custom project instead, to have a better view of the area that is actually shown on the LED wall. For this, follow these steps:
- Create a multiscreen project in Elementi.
- Select the model as "iBX440 / 8K Partner Player".
- Select the license as "Systems".
- Select the format as "Multiscreen Custom".
- For "Multiscreen", select "One player with multiple outputs".
- Open the project's main index.svg.
- Under the Properties tab in Edit panel, enter the total width (4928) and height (8192) of the canvas.
- Under the Screens tab, fill out the details of each output:
- The width (2816) and height (2048) are identical for all outputs.
- The X and Y coordinates are as follows:
- HDMI1 → 0, 0
- HDMI2 → 704, 2048
- HDMI3 → 1408, 4096
- HDMI4 → 2112, 6144
- Import your media and compose the content as needed.
- Once done, publish the project onto the iBX440 player.
Next, we'll be using these coordinates within the configuration file, which would look like this:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<custom>2816 2048 60 cvt-R p</custom>
</display-video-mode>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2:704:2048,card0-HDMI-A-3:1408:4096,card0-HDMI-A-4:2112:6144</video-output-selector>
</configuration>

<display-video-mode>
tag sets a custom video output mode for each output, matching the resolution of each LED wall block.Independent screen rotations
Starting with DSOS 4.8.3, independent screen rotations are also supported, which allows creating even more custom video walls.
Let's take as example a 1x4 video wall with four 1080p screens, where the two outer screens are in landscape mode and the two inner screens are in portrait mode, eventually with a larger space in between.

The first step is to determine the canvas size:
- For the total width, we first need to measure the horizontal space between the screens, including the screen frame, and transform it in pixels using this formula:
offset_mm * screen_width_px / screen_width_mm
(or the equivalent using inches instead of millimeters). Add all together to get the canvas width in pixels. - The total height, simply take the resolution of the screen.
- For this example, let's consider a canvas of 7080x1920 pixels, with a small offset of 80px, respectively a larger one of 920px, between the screens.
On the Elementi side, we will be using a Multiscreen Custom project; for this, follow these steps:
- Create a multiscreen project in Elementi.
- Select the model as "iBX440 / 8K Partner Player".
- Select the license as "Systems".
- Select the format as "Multiscreen Custom".
- For "Multiscreen", select "One player with multiple outputs".
- Open the project's main index.svg.
- Under the Properties tab in Edit panel, enter the total width (7080) and height (1920) of the canvas.
- Under the Screens tab, fill out the details of each output:
Elementi multiscreen project - custom format - Video wall 1x4 independent rotations - The width (1920) and height (1080) are identical for all outputs; for the two screens in portrait mode, the values are transposed.
- The X and Y coordinates are as follows:
- HDMI1 → 0, 0
- HDMI2 → 2000, 0
- HDMI3 → 4000, 0
- HDMI4 → 5160, 0
- Import your media and compose the content as needed.
- Once done, publish the project onto the iBX440 player.
Next, we'll be using these coordinates within the configuration file, which would look like this:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<resolution>1920x1080</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-2:2000:0:rotateLeft,card0-HDMI-A-3:4000:0:rotateLeft,card0-HDMI-A-4:5160</video-output-selector>
</configuration>

<video-output-selector>
tag are provided in the form of connectorID:x:y:orientation
, where x
and y
are the coordinates (left-to-right and top-to-bottom) in pixels of the screen top-left pixel, relative to the top-left pixel of the multi-output canvas - if x or y is omitted, it is assumed to be zero - and orientation
is an optional parameter to set the orientation of the display connected to the specified player output - it can take one of the following values: horizontal (lacuna value), rotateRight, rotate180, rotateLeft, flipVert, flipHor.Different screen resolutions
With the ability to configure each video output independently, users can also combine screens at different resolutions. It is important to note that when different video timings are being used, the output video signals may not be perfectly synchronized.
For instance, let’s say we want to combine a 4K projector, showing content dedicated to the next event, with a Full-HD screen, showing the next meetings and wayfinding information.

On the Elementi side, we will be using a Multiscreen Custom project:
- Create a multiscreen project in Elementi.
- Select the model as "iBX440 / 8K Partner Player".
- Select the license as "Systems".
- Select the format as "Multiscreen Custom".
- For "Multiscreen", select "One player with multiple outputs".
- Open the project's main index.svg.
- Under the Properties tab in Edit panel, enter the total width (3840) and height (3240) of the canvas.
- Under the Screens tab, fill out the details of the two outputs:
- HDMI1 → 0, 0, 3840, 2160
- HDMI4 → 960, 2160, 1920,1080
- Import your media and compose the content as needed.
- Once done, publish the project onto the iBX440 player.
The configuration file would look like this:
<?xml version="1.0"?>
<configuration version="2.2">
<display-video-mode/>
<display-video-mode>
<output>card0-HDMI-A-1</output>
<resolution>3840x2160</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<display-video-mode>
<output>card0-HDMI-A-4</output>
<resolution>1920x1080</resolution>
<vertical-freq>60</vertical-freq>
</display-video-mode>
<video-output-selector>card0-HDMI-A-1,card0-HDMI-A-4:960:2160</video-output-selector>
</configuration>

<display-video-mode>
tag is used twice to set the video output mode, matching the resolution and the vertical refresh rate of the two screens.See also
- Get started with the iBX440
- DSOS
- Video output
- Video decoding
- Display settings
- Audio
- Multiscreen content
- Configuration API
<?xml version="1.0"?>
<configuration version="1.2" compatible="2.0">
<screeen-aspect-ratio>16:9</screeen-aspect-ratio>
<display-orientation>horizontal</display-orientation>
<reboot/>
</configuration>