# Video wall
Source: [https://docs.qualcomm.com/doc/80-70018-50/topic/gst-concurrent-videoplay-composition.html](https://docs.qualcomm.com/doc/80-70018-50/topic/gst-concurrent-videoplay-composition.html)
The **gst-concurrent-videoplay-composition** application supports concurrent video
playback for MP4 AVC (H.264) videos and performs composition on a video wall display.
In the concurrent video playback and composition pipeline, four decode and composition
pipelines run concurrently. For more information about the plugins used in this
pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70018-50/topic/gst-concurrent-videoplay-composition.html#gst-concurrent-videoplay-composition__section_s22_qsf_4bc).
Figure : gst-concurrent-videoplay-composition pipeline with 4 streams

This video shows you how to stream from several cameras simultaneously, display the feeds
side by side, or encode for storage. The video will open in a new tab.
## Prerequisites
- If not already done so, [Download and install eSDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-51/install-sdk.html#download-and-install-esdk-).
- To access your host device, enable SSH. For instructions, see [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-254/how_to.html#use-ssh).
Note: If SSH is enabled, you can skip this step.
- Push the files from the Linux host
computer.
scp root@:/etc/Copy to clipboard
- Connect the display to the device using the HDMI port. For instructions, see
[Set up HDMI display](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-18/samples.html).
- Enable the
display:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard
- Connect to the speaker to enable the audio. For instructions, see [Set up audio hardware](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-16/enable-audio.html).
If you face issues while enabling camera or display, see [Camera troubleshooting](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-17/troubleshooting.html) and [Display troubleshooting](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-18/debug.html).
## Run the application
The application requires at least one input video file. The input file must be an MP4
AVC (H.264) file.
The table lists the use cases that are supported through the
gst-concurrent-videoplay-composition application:| Use case | Description |
| --- | --- |
| Video conferencing |
Simultaneously decodes the video streams of several participants.
Useful in a multi-party video conference scenario where the application manages several video streams.
|
| Surveillance systems | Concurrently decodes video feeds from two separate cameras. |
| Digital signage | Allows simultaneous changes or updates to centrally managed information that's electronically displayed across several locations. |
To run the use cases, do the following:
1. Load the AVC-encoded MP4 (H.264) files onto the device.
2. To run the application for your use case, use the following syntax
command:
gst-concurrent-videoplay-composition -c -i .mp4 -i .mp4Copy to clipboard
The table provides a description of the command-line
parameters: | Command-line parameter | Description |
| --- | --- |
| `-c` |
Number of streams to decode for composition.
Supported values are 2, 4, 8, and 16.
|
| `-i` | Specifies the absolute path to the input video file |
Use the following commands to run the concurrent playback use
cases:
- Concurrent playback of two
sessions:
gst-concurrent-videoplay-composition -c 2 -i .mp4 -i .mp4Copy to clipboard
If
one video is provided as input, the same file is played
concurrently.
- Concurrent playback of four
sessions:
gst-concurrent-videoplay-composition -c 4 -i .mp4 -i .mp4 -i .mp4 -i .mp4Copy to clipboard
To display the available help options, run the following command in the SSH
shell:
gst-concurrent-videoplay-composition --helpCopy to clipboard
To stop the use case, use CTRL + C.
## Expected output
The individual composed streams are tiled together to display as a unified
stream.
Figure : Expected output for gst-concurrent-videoplay-composition application

## Pipeline flow
The table lists the plugins used to run the video wall pipeline:| Plugin | Description |
| --- | --- |
| filesrc | Reads the video data. |
| qtdemux | Demultiplexes the video data. |
| h264parse | Parses the H.264 video streams. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70018-50/topic/v4l2h264dec.html) | Decodes the H.264 video streams. |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70018-50/topic/qtivcomposer.html) | Composes the decoded streams and sends them over the display. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70018-50/topic/waylandsink.html) | Displays the composed video streams on Wayland display. |
## Known issues
Video playback is closing or freezing. About an hour later, it continues running with
16 H.264 720p concurrent video playback sessions.
**Parent Topic:** [Run sample applications for video and audio](https://docs.qualcomm.com/doc/80-70018-50/topic/audio-sample-applications.html)
**Related Resources**
- [Concurrent video playback (video wall) using Python](https://docs.qualcomm.com/doc/80-70018-50/topic/video-wall-using-python.html)
Last Published: Jan 30, 2026
[Previous Topic
Run sample applications for video and audio](https://docs.qualcomm.com/bundle/publicresource/80-70018-50/topics/audio-sample-applications.md) [Next Topic
Smart codec](https://docs.qualcomm.com/bundle/publicresource/80-70018-50/topics/smart-codec.md)