# Multistream inference
Source: [https://docs.qualcomm.com/doc/80-70018-50/topic/multistream-inference.html](https://docs.qualcomm.com/doc/80-70018-50/topic/multistream-inference.html)
The **gst-ai-multistream-inference** application shows AI inference (object
detection and classification) on up to 32 input streams coming from camera, file, or RTSP
stream.
The figure shows the pipeline, which takes several input streams, does the preprocessing
and AI inferencing stream, combines the streams, and merges them all into a single video
output.
Note: The maximum number of input streams supported on each SoC
are follows:
- QCS6490–8
- QCS8275–16
- QCS9075–32
The output is displayed on an HDMI display, saved as an H.264 encoded MP4 file, or
converted into an RTSP stream.
For information about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70018-50/topic/multistream-inference.html#multistream-inference__section_opk_tn2_ncc).
Figure : gst-ai-multistream-inference pipeline

## Sample model and label files
Table : Sample model and label files for gst-ai-multistream-inference
| Runtime | Model files | Label files |
| :--- | :--- | :--- |
| LiteRT |
inception_v3_quantized.tflite
yolov8_det_quantized.tflite
|
yolov8.labels
Classification.labels
|
## 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-).
- [Download model and label files](https://docs.qualcomm.com/doc/80-70018-50/topic/download-model-and-label-files.html).
- 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 already enabled, you can skip this
step.
- 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
- Push the video files from the Linux host
computer:
scp .mp4 root@:/etc/mediaCopy to clipboard
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 sample application uses the
/etc/configs/config-multistream-inference.json file to read
the input parameters.
Note: In the
config-multistream-inference.json file, you can replace
model-detection.tflite with
yolov8\_det\_quantized.tflite and
detection.labels with
yolov8.labels.
To create your own config JSON file, use [config-multistream-inference.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/tree/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-multistream-inference?ref_type=heads) as a
reference.
1. Use the following format of the
config-multistream-inference.json
file:
{
"input-file-path": [
"",
""
],
"input-rtsp-path": [
"",
""
],
"input-type": ""
"model": "",
"labels": "",
"constants" : "",
"output-display": <0 or 1>,
"output-file-path": "