# Camera stream configuration
Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/camera-stream-configuration.html](https://docs.qualcomm.com/doc/80-70020-50/topic/camera-stream-configuration.html)
The **gst-add-streams-as-bundle-example** application allows you to activate and
configure camera streams as a bundle instead of configuring each stream one at a time, thus,
reducing the delay in configuring new streams.
The following figure shows the pipeline, which takes the configuration parameters such as
width and height, processes to either display on a screen, or encodes and saves to a
file. For more information about the plugins used in the pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70020-50/topic/camera-stream-configuration.html#camera-stream-configuration__section_vt5_b1b_pbc).
Figure : gst-add-streams-as-bundle-example pipeline
## Prerequisites
- [Get started with the Qualcomm IM SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-51/install-sdk.html)
for your Qualcomm Linux 1.5 or Ubuntu Server.
- Activate SSH on your Qualcomm Linux or Ubuntu to sign in with SSH and connect to
the target device. For instructions see:
- [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-254/how_to.html#use-ssh) for Qualcomm
Linux
- [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-90441-1/Use_Ubuntu_on_RB3_Gen2_3.html#sign-in-to-the-rb3-gen-2-console-using-ssh) for Ubuntu
Server
Note: If SSH is already set up and Wi-Fi is
connected, skip this step.
- Use the HDMI port to connect the display to the device. For instructions, see
[Set up HDMI display](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-18/samples.html).
- Sign in to the target device using SSH.
- In the terminal of the target device, run the following commands from the SSH
shell of the target device to activate the display on the host computer:
- For
Linux:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard
- For Ubuntu Server:
export XDG_RUNTIME_DIR=/run/user/$(id -u ubuntu)/ && export WAYLAND_DISPLAY=wayland-1 Copy to clipboard
- Connect the speaker to activate the audio on the target device. For
instructions, see [Set up audio hardware](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-16/enable-audio.html).
If you face
issues in recording the audio, run the following command in the terminal of
the target
device:
pactl set-default-source pal_source_speaker_micCopy to clipboard
- If you face issues with the camera or display, see [Camera troubleshooting](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-17/troubleshooting.html) and [Display troubleshooting](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-18/debug.html).
## Run the application
1. In the terminal of the target device, use the following command to run the
application:
gst-add-streams-as-bundle-example Copy to clipboard
2. Use the following commands to run the application for various use cases:
- Preview the stream:
gst-add-streams-as-bundle-example -o DisplayCopy to clipboard
- Encode the stream and save it to a
file:
gst-add-streams-as-bundle-example -o FileCopy to clipboard
The
encoded stream is saved at
/etc/media/video\_%d.mp4.
3. To stop the use case, use CTRL +
C.
4. In the terminal of the target device, run the following command in the SSH shell
to display the available help
options:
gst-add-streams-as-bundle-example --helpCopy to clipboard
5. In the terminal of the host computer, run the following command to pull the
files from the target
device:
scp root@:/etc/media/Copy to clipboard
## Expected output
One stream is sent to display and the other stream is saved to a file.
Figure : Expected output for gst-add-streams-as-bundle-example application

## Pipeline flow
The following table lists the plugins used in the camera stream configuration
pipeline:
| Plugin | Description |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70020-50/topic/qtiqmmfsrc.html) | Captures the video stream and feeds it into the capsfilter. |
| Capsfilter | Branches the source into two separate pipelines. In one pipeline, the output is sent to [Waylandsink](https://docs.qualcomm.com/doc/80-70020-50/topic/waylandsink.html) for display. |
| Capsfilter | In the other pipeline, the video undergoes the following: Encoded using v4l2h264enc . Parsed with h264parse. Multiplexed into an MP4 format with mp4mux. Written to a file using filesink. |
| | |
**Parent Topic:** [Run sample applications for a camera](https://docs.qualcomm.com/doc/80-70020-50/topic/camera-sample-applications.html)
Last Published: Jan 30, 2026
[Previous Topic
Camera metadata](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/gst-camera-metadata-example.md) [Next Topic
Camera burst capture](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/camera-burst-capture.md)