# Video composition
The **gst-weston-composition-example** application allows you to arrange live camera input or offline files on the screen using the picture-in-picture (PiP) or side by side display formats. A few use cases of this application are video conferencing and online educational courses.
The `gst-weston-composition-example` application involves several pipelines and elements. For more information, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-weston-composition-example.html#section-wng-xcv-4bc).
## Run the application
| Use case | Description |
| --- | --- |
| Video conferencing |
Simultaneously displays several video streams from many participants.
Videos are displayed in either PiP or side by side format.
Useful in a multi-party video conference scenario where the application manages several video streams.
|
| Online education | Enhances the learning experience by enabling the PiP or side by side display of the instructional video |
For PiP and side by side display formats, you can use [qtivcomposer](https://docs.qualcomm.com/doc/80-80021-50/topic/qtivcomposer.html) plugin. Do the following to run the use case with either of the plugins:
1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-80021-50/topic/mm_sample_apps_prerequisites.html).
2. Input a `.mp4` video file on the target device.
3. In the terminal of the target device, run any of the following use cases:
- Compose PiP:
gst-weston-composition-example -t 0 -i /etc/media/.mp4
Copy to clipboard
Compose side by side:
gst-weston-composition-example -t 1 -i /etc/media/.mp4
Copy to clipboard
4. To stop the use case, use **CTRL + C**.
5. In the terminal of the target device, run the following command in the SSH shell to display the available help options:
gst-weston-composition-example --help
Copy to clipboard
| Command-line parameter | Description |
| --- | --- |
| `-t` | Specifies the type of composition:
0 = Picture
in
picture
1 = Side by side
|
| `-i` | Specifies the absolute path to the input video file. |
## Expected output
The video is rendered as PiP and side by side display on the screen.

**Figure : Expected output for gst-weston-composition-example application**
## Pipeline flow
| Plugin | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-80021-50/topic/qtiqmmfsrc.html) | Captures the video from a source. |
| capsfilter | Filters the video file. |
| filesrc | Reads the video data. |
| qtdemux | Demultiplexes the video data. |
| h264parse | Parses the H.264 video. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-80021-50/topic/v4l2h264dec.html) | Decodes H.264 video from a file. |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-80021-50/topic/qtivcomposer.html) | Composes the decoded video. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-80021-50/topic/waylandsink.html) | Composes and renders the video on the Wayland display. |
## Related information
[Video composition use cases](https://docs.qualcomm.com/doc/80-80021-50/topic/video-composition.html)
Last Published: Mar 26, 2026
[Previous Topic
Video transformation](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-transform-example.md) [Next Topic
Run Python-based applications](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/python-sample-applications.md)