# Multi input/output object detection The **gst-ai-multi-input-output-object-detection** application allows you to perform objection detection on video streams from various sources such as a camera, a file, or over a network such as RTSP. Note This application isn't supported in the QLI 2.0 RC2 release. The following figure shows the pipeline workflow, which captures video streams for inferencing from different sources such as camera, file, or RTSP. For information about the plugins used in the pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-ai-multi-input-output-object-detection.html#section-qbz-bsq-nbc). Qualcomm Open source tee qtivcomposer Waylandsink rtspsrc rtph264 depay h264parse V4l2h264dec filesrc qtdemux h264parse V4l2h264dec qtirstpbin qtiqmmfsrc qtimlvconverter qtimltflite qtimlpostprocess sink_1 sink_0 qtimlvconverter qtimltflite qtimlpostprocess sink_3 sink_2 qtimlvconverter qtimltflite qtimlpostprocess sink_n-1 sink_n-2 filesink **Figure : Multi-input inferencing pipeline** ## Sample model and label files Table : Sample model and label files for gst-ai-multi-input-output-object-detection | Runtime | Model files | Label files | | --- | --- | --- | | LiteRT | *yolov5.tflite* | *yolov5.json* | ## Prerequisites Note Update the following commands according to the Python version in your Linux host computer. - Create the Python 3.8 virtual environment: sudo apt-get install python3.8 Copy to clipboard sudo apt-get install python3.8-venv Copy to clipboard python3.8 -m venv py3.8 Copy to clipboard source py3.8/bin/activate Copy to clipboard - Generate the `yolov5.tflite` model: git clone https://github.com/ultralytics/yolov5.git Copy to clipboard cd yolov5 Copy to clipboard python -m pip install -r requirements.txt tensorflow-cpu Copy to clipboard python export.py --weights yolov5m.pt --img 320 --include tflite --int8 --data data/coco128.yaml Copy to clipboard - In the terminal of the host computer, run the following command to push the model to the target device: scp yolov5m-int8.tflite root@:/etc/models/yolov5.tflite Copy to clipboard If any model isn't available after downloading the script file, you can download the model from [IoT–](https://aihub.qualcomm.com/iot/models/) [Qualcomm AI Hub](https://aihub.qualcomm.com/iot/models/). - In the terminal of the host computer, run the following command to push the model files to the target device: - For Qualcomm Linux: scp root@:/etc/models Copy to clipboard - For Ubuntu Server: scp yolov5m-int8.tflite ubuntu@:/home/ubuntu ssh ubuntu@ sudo cp /home/ubuntu/yolov5.tflite /etc/models Copy to clipboard ## Run the application on the target device Note The commands in this section are targeted for the sample applications based on QLI GA 1.5 (PPA version 05900 in Ubuntu) or later releases. Run the `apt-cache policy gstreamer1.0-qcom-sample-apps` command to check your QIM version. If you are using sample applications from older versions, run the application with the `--help` option for more instructions. Note The following commands provide the default model and label paths. If you have a different folder structure, replace the default paths in the config file. See Sample model and label files <section_pnn_hmb_4dc>. The sample application uses the `/etc/configs/config-multi-input-output-object-detection.json` file to read the input parameters. Note For Ubuntu Server, this file isn't available by default. To create your own config JSON file, use [config-multi-input-output-object-detection.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/blob/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-multi-input-output-object-detection/config-multi-input-output-object-detection.json) as a reference. 1. Ensure that you also complete these additional [Prerequisites](https://docs.qualcomm.com/doc/80-80021-50/topic/download-model-and-label-files.html). 2. Update the config JSON file based on the model, input stream, and other properties. For more information, see [Config JSON field description](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-ai-multi-input-output-object-detection.html#section-mxw-t2r-32c). For QCS6490, if `file-path` and `rtsp-ip-port` are *not* present in the configuration file, then the camera input is selected. 3. Enter SSH shell and copy the YOLOX label files to YOLOv5: cp /etc/labels/yolox.json /etc/labels/yolov5.json Copy to clipboard Note For Ubuntu Server, this step requires a `sudo`. 4. Use the following format of the `config-multi-input-output-object-detection.json` file: { "num-camera": "", "camera-id": "", "input-file-path": "", "input-rtsp-path": "", "model": "", "labels": "", "output-file-path": "", "output-ip-address": "", "output-port-number": "", "output-display": "" } Copy to clipboard For example, run the application using the custom video input file, model paths, and label paths: { "input-file-path": [ "/etc/media/video1.mp4", "/etc/media/video2.mp4" ], "model": "/etc/models/yolov5.tflite", "labels": "/etc/labels/yolov5.json", "output-display": true, "output-file-path": "/etc/media/output.mp4", "output-ip-address": "127.0.0.1", "output-port-number": "8554" } Copy to clipboard 5. Run the gst-ai-multi-input-output-object-detection application: gst-ai-multi-input-output-object-detection --config-file=/etc/configs/config-multi-input-output-object-detection.json Copy to clipboard Note Ensure that the total number of input streams from the camera, RTSP, and file source doesn't exceed 6. 6. Pull the files from the target device: - For Linux host: scp root@:/etc/media/out.mp4 Copy to clipboard - For Ubuntu Server host: scp ubuntu@:/etc/media/out.mp4 Copy to clipboard 7. To display the available help options, run the following command in the SSH shell: gst-ai-multi-input-output-object-detection --help Copy to clipboard 8. To stop the use case, use **CTRL + C**. ## Expected output Based on the use case, the results are either displayed on an HDMI screen, saved as an H.264 encoded MP4 file, or streamed over the RTSP server. ![../../_images/gst-ai-multi-input-output-expected-output.png](data:image/png;base64,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) **Figure : Expected output for gst-ai-multi-input-output-object-detection application–Preview** ## Pipeline flow The following table lists the plugins used in the multi-input/output inference use cases: | Plugin | Description | | --- | --- | | Camera source: [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-80021-50/topic/qtiqmmfsrc.html) |

  • Captures the live stream from camera.


  • Uses tee to split the stream for inferencing.


| | File source: filesrc |

  • Captures the video stream using filesrc, followed by qtdemux, which demultiplexes the stream.


  • Uses tee to split the stream for inferencing.


| | RTSP source: rtspsrc |

  • Captures the RTSP stream using rtspsrc, followed by rtph264depay for video extraction.


  • Uses tee to split the stream for inferencing.


| | h264parse | Parses the H.264 video. | | [v4l2h264dec](https://docs.qualcomm.com/doc/80-80021-50/topic/v4l2h264dec.html) | Decodes the video. | | [qtimlvconverter](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlvconverter.html) |

  1. Receives the video stream on its sink pad.


  2. Performs the following preprocessing on the stream data. This is done when the model expects floating-point values as input.


    1. Color conversion


    2. Scaling (up or down)


    3. Normalization






The tensor stream is used for inferencing in the later stages of the pipeline. | | [qtimltflite](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimltflite.html) | Runs on the LiteRT and uses the `yolov5.tflite` model for object detection.

  1. After the inference runtime receives the tensor stream on its sink pad, it runs the inference.


  2. Produces a tensor stream with the inference results on its source pad.


| | [qtimlpostprocess](https://docs.qualcomm.com/doc/80-80021-50/topic/qtimlpostprocess.html) | Converts the inference tensors that it receives on its sink pad into video formats that the multimedia plugins can process later. | | [qtivcomposer](https://docs.qualcomm.com/doc/80-80021-50/topic/qtivcomposer.html) |

  1. Composes frames with contents from its sink pads.


  2. Pushes the GStreamer buffers containing these composed frames to its source pad.


| | [Waylandsink](https://docs.qualcomm.com/doc/80-80021-50/topic/waylandsink.html) |

  1. Waylandsink submits the video stream received on its sink pad to Wayland compositor.


  2. Renders the video stream on a local display.


| | Filesink | Takes the video stream that it receives on its sink pad and saves it as an H.264-encoded MP4 file. | | [qtirtspbin](https://docs.qualcomm.com/doc/80-80021-50/topic/qtirtspbin.html) |

  1. Serves as a network sink.


  2. Transmits UDP packets to the network.


| ## Config JSON field description The different parameters available to configure the JSON file and run the use case are as follows: Table : Field description–config-multi-input-output-object-detection.json file | Field | Values/description | | --- | --- | | **Input source** | Use one of the following input sources:

  • num-camera: The number of inputs from the camera. Select either 1 or 2.


  • camera-id: The id of the test camera. Select either 0 or 1.


  • input-file-path: The directory path to the video file.


  • input-rtsp-path: The address of the RTSP stream: rtsp://<ip>:<port>/<stream>


| | **Models and labels** |

  • model: The path to the model file.


  • labels: The path to the label file.


| | **Output** | Use one of the following outputs:

  • output-file-path: The directory path to save the output file.


  • output-ip-address: The IP address of the device on which the RTSP stream can be played.


  • output-port-number: The port number of the device on which the RTSP stream can be played.


  • output-display: The connected display device for preview.


| ## Known issues 1. A drop in fps is observed when the application is run with six input streams. If you want to use more streams, use YOLOv8 model. 2. In long duration tests, lag is observed while running use case with two cameras. ## Related information [Object detection](https://docs.qualcomm.com/doc/80-80021-50/topic/gst-ai-object-detection.html) Last Published: Mar 26, 2026 [Previous Topic Parallel inferencing](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gst-ai-parallel-inference.md) [Next Topic Daisy chain detection and classification](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/daisy-chain-detection-and-classification.md)