# 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-80022-50/topic/gst-ai-multi-input-output-object-detection.html#section-qbz-bsq-nbc).

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1302.21002197265625" height="396.000015258789062" viewbox="0 0 1302.21002197265625 396.000015258789062" aria-label="../../_images/multi_input_ai_inferencing_pipeline.svg">
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect x=".49969482421875" y=".500076293945312" width="1301.21044921875" height="394.99951171875" rx="7.499999999999998" ry="7.499999999999998" style="fill: #fafafa;"></rect>
      <path d="M1294.21002197265625,1c3.85980224609375,0,7,3.140167236328125,7,7v380.000015258789062c0,3.859832763671875-3.14019775390625,7-7,7H8c-3.859832763671875,0-7-3.140167236328125-7-7V8c0-3.859832763671875,3.140167236328125-7,7-7h1286.21002197265625M1294.21002197265625,0H8C3.5816650390625,0,0,3.581666946411133,0,8v380.000015258789062c0,4.418304443359375,3.5816650390625,8,8,8h1286.21002197265625c4.4183349609375,0,8-3.581695556640625,8-8V8c0-4.418333053588867-3.5816650390625-8-8-8h0Z" style="fill: #d2d7e1;"></path>
    </g>
    <g>
      <g>
        <text transform="translate(1103.852813720703125 372.091506958007812)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="1083.601803464505792" y="360.000015258789062" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(1202.434585571289062 372.091506958007812)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
        <rect x="1182.183584877358953" y="360.000015258789062" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
  </g>
  <g id="Layer_3" data-name="Layer 3">
    <rect x="515.766068915365395" y="20.184563609965153" width="60.000000000001819" height="319.63086324332744" rx="4" ry="4" style="fill: #007884;"></rect>
    <rect x="1019.916736493278222" y="20.184563609965153" width="100.399484568215485" height="319.63086324332744" rx="7.860298861736737" ry="7.860298861736737" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="1120.31622314453125" y1="74.265716552734375" x2="1132.95941162109375" y2="74.265716552734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1131.792236328125 78.254783630371094 1138.70037841796875 74.265716552734375 1131.792236328125 70.276657104492188 1131.792236328125 78.254783630371094"></polygon>
    </g>
    <rect x="1138.769697551346326" y="46.878648435870673" width="92.474160625422883" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(536.062210083007812 184.091323852539062)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">tee</tspan></text>
    <text transform="translate(1027.36419677734375 184.091018676757812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtivcomposer</tspan></text>
    <text transform="translate(1145.64208984375 78.356979370117188)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Waylandsink</tspan></text>
    <g>
      <g>
        <rect x="1244.924490709245219" y="61.588162231445494" width="36" height="25.200000000001637" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
        <line x1="1255.724490709240854" y1="93.988162231445131" x2="1270.124490709238671" y2="93.988162231445131" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
      </g>
      <line x1="1262.924490709245219" y1="86.788162231447131" x2="1262.924490709245219" y2="93.988162231445131" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
    </g>
    <g>
      <path d="M43.886836721283544,57.865719450407596h-9l-4.5,5.400000000001455h-5.400000000001455c-1.988224983215332,0-3.599999999998545,1.611775016783213-3.599999999998545,3.599999999998545v16.200000000000728c0,1.988226699828374,1.611775016783213,3.600000000002183,3.599999999998545,3.600000000002183h28.80000000000291c1.988226699828374,0,3.599999999998545-1.611773300173809,3.599999999998545-3.600000000002183v-16.200000000000728c0-1.988224983215332-1.611773300170171-3.599999999998545-3.599999999998545-3.599999999998545h-5.400000000001455l-4.5-5.400000000001455Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <circle cx="39.386836721283544" cy="72.265719450409051" r="5.400000000001455" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></circle>
    </g>
    <g>
      <path d="M46.136836721283544,169.540573151851277h-20.25c-2.485281229017346,0-4.5,2.014718770980835-4.5,4.5v36c0,2.485283374786377,2.014718770982654,4.5,4.5,4.5h27c2.485283374786377,0,4.5-2.014716625213623,4.5-4.5v-29.25l-11.25-11.25Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M43.886836721283544,169.540573151851277v9c0,2.485281229019165,2.014718770980835,4.5,4.5,4.5h9" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M34.886836721283544,189.790573151851277l11.25,6.75-11.25,6.75v-13.5Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
    </g>
    <g>
      <rect x="70.952162955944004" y="279.815426853292593" width="86" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
      <g>
        <line x1="156.9521484375" y1="309.815414428710938" x2="169.595367431640625" y2="309.815414428710938" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="168.42816162109375 313.804489135742188 175.336334228515625 309.815414428710938 168.42816162109375 305.826370239257812 168.42816162109375 313.804489135742188"></polygon>
      </g>
      <line x1="58.283200256841155" y1="309.815426853292593" x2="70.952162955944004" y2="309.815426853292593" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <rect x="175.405639445799352" y="279.815426853292593" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
      <g>
        <line x1="270.4056396484375" y1="309.815414428710938" x2="283.048828125" y2="309.815414428710938" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="281.881637573242188 313.804489135742188 288.789810180664062 309.815414428710938 281.881637573242188 305.826370239257812 281.881637573242188 313.804489135742188"></polygon>
      </g>
      <rect x="288.8591159356547" y="279.815426853292593" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
      <g>
        <line x1="383.859115600585938" y1="309.815414428710938" x2="396.502309799194336" y2="309.815414428710938" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="395.335117340087891 313.804489135742188 402.243293762207031 309.815414428710938 395.335117340087891 305.826370239257812 395.335117340087891 313.804489135742188"></polygon>
      </g>
      <rect x="402.312592425510957" y="279.815426853292593" width="95" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
      <g>
        <line x1="497.312591552734375" y1="309.815414428710938" x2="509.955787658691406" y2="309.815414428710938" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="508.788597106933594 313.804489135742188 515.696769714355469 309.815414428710938 508.788597106933594 305.826370239257812 508.788597106933594 313.804489135742188"></polygon>
      </g>
      <text transform="translate(90.385284423828125 313.337539672851562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtspsrc </tspan></text>
      <text transform="translate(196.942535400390625 306.507095336914062)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtph264 </tspan><tspan x="5.52685546875" y="16.7998046875">depay </tspan></text>
      <text transform="translate(303.290428161621094 313.906997680664062)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
      <text transform="translate(408.830966949462891 313.906814575195312)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
      <g>
        <path d="M35.78683672128318,306.165426853287499c.001393890381223-.745582866664336.606937980652219-1.348867893218994,1.352521705628533-1.347474002832314.248203468321663.000463485717773.491475105285645.069345188137959.703078651427859.199073982235859l6.595199203491575,4.048200130462646c.635238075255984.390344238279795.833762741087412,1.221743202208017.443418502807617,1.85698127746582-.110953330993652.180562019348145-.262856483459473.332465171813965-.443418502807617.443418502807617l-6.595199203491575,4.05000000000291c-.63563804626574.389691925047373-1.466832733154661.190314102168486-1.856524658203853-.445323944091797-.130368232727051-.212645530700684-.199274826049077-.457250976563955-.199075698852539-.706676673893526v-8.098199272157217Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
        <path d="M30.386836721283544,330.01542685329332h18" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
        <rect x="21.386836721283544" y="297.615426853291865" width="36" height="25.19999999999709" rx="2" ry="2" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
      </g>
    </g>
    <rect x="70.952162955944004" y="162.040573151851277" width="86" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="156.9521484375" y1="192.040573120117188" x2="169.595367431640625" y2="192.040573120117188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="168.42816162109375 196.029632568359375 175.336334228515625 192.040573120117188 168.42816162109375 188.051513671875 168.42816162109375 196.029632568359375"></polygon>
    </g>
    <line x1="58.283200256841155" y1="192.040573151851277" x2="70.952162955944004" y2="192.040573151851277" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="175.405639445799352" y="162.040573151851277" width="95" height="60" rx="3.999999999999996" ry="3.999999999999996" style="fill: #007884;"></rect>
    <g>
      <line x1="270.4056396484375" y1="192.040573120117188" x2="283.048828125" y2="192.040573120117188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="281.881637573242188 196.029632568359375 288.789810180664062 192.040573120117188 281.881637573242188 188.051513671875 281.881637573242188 196.029632568359375"></polygon>
    </g>
    <rect x="288.8591159356547" y="162.040573151851277" width="95" height="60" rx="3.999999999999998" ry="3.999999999999998" style="fill: #007884;"></rect>
    <g>
      <line x1="383.859115600585938" y1="192.040573120117188" x2="396.502309799194336" y2="192.040573120117188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="395.335117340087891 196.029632568359375 402.243293762207031 192.040573120117188 395.335117340087891 188.051513671875 395.335117340087891 196.029632568359375"></polygon>
    </g>
    <rect x="402.312592425510957" y="162.040573151851277" width="95" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #007884;"></rect>
    <g>
      <line x1="497.312591552734375" y1="192.040573120117188" x2="509.955787658691406" y2="192.040573120117188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="508.788597106933594 196.029632568359375 515.696769714355469 192.040573120117188 508.788597106933594 188.051513671875 508.788597106933594 196.029632568359375"></polygon>
    </g>
    <text transform="translate(94.773956298828125 195.562698364257812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">filesrc</tspan></text>
    <text transform="translate(195.520660400390625 196.132278442382812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtdemux</tspan></text>
    <text transform="translate(303.290428161621094 196.132156372070312)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
    <text transform="translate(408.830966949462891 196.131973266601562)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
    <rect x="70.952162955944004" y="44.265719450409051" width="86" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="156.9521484375" y1="74.265716552734375" x2="509.955459594726562" y2="74.265716552734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="508.78826904296875 78.254783630371094 515.696449279785156 74.265716552734375 508.78826904296875 70.276657104492188 508.78826904296875 78.254783630371094"></polygon>
    </g>
    <line x1="58.283200256841155" y1="74.265719450409051" x2="70.952162955944004" y2="74.265719450409051" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <line x1="1231.243858176771028" y1="74.265719450409051" x2="1243.912820875873877" y2="74.265719450409051" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <g>
      <line x1="1120.31622314453125" y1="192.040570254175691" x2="1132.95941162109375" y2="192.040570254175691" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1131.792236328125 196.02963733181241 1138.70037841796875 192.040570254175691 1131.792236328125 188.051510805933503 1131.792236328125 196.02963733181241"></polygon>
    </g>
    <rect x="1138.769697551346326" y="164.653502137312898" width="92.474160625422883" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
    <line x1="1231.243858176771028" y1="192.040573151851277" x2="1243.912820875873877" y2="192.040573151851277" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <g>
      <line x1="1120.31622314453125" y1="309.815423955617007" x2="1132.95941162109375" y2="309.815423955617007" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1131.792236328125 313.804491033253726 1138.70037841796875 309.815423955617007 1131.792236328125 305.826364507374819 1131.792236328125 313.804491033253726"></polygon>
    </g>
    <rect x="1138.769697551346326" y="282.428355838754214" width="92.474160625422883" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(1155.33203125 313.906936645507812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtirstpbin</tspan></text>
    <line x1="1231.243858176771028" y1="309.815426853292593" x2="1243.912820875873877" y2="309.815426853292593" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <text transform="translate(77.667022705078125 77.787796020507812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtiqmmfsrc</tspan></text>
    <g>
      <g>
        <line x1="575.766067504882812" y1="74.265716552734375" x2="588.409255981445312" y2="74.265716552734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="587.2420654296875 78.254783630371094 594.150253295898438 74.265716552734375 587.2420654296875 70.276657104492188 587.2420654296875 78.254783630371094"></polygon>
      </g>
      <g>
        <line x1="575.766067504882812" y1="40.430519104003906" x2="1014.04779052734375" y2="40.430519104003906" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1012.880615234375 44.419578552246094 1019.788818359375 40.430519104003906 1012.880615234375 36.441452026367188 1012.880615234375 44.419578552246094"></polygon>
      </g>
      <rect x="594.219545405221652" y="49.265719450409051" width="120.000000000007276" height="50" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="714.21954345703125" y1="74.265716552734375" x2="726.86273193359375" y2="74.265716552734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="725.695556640625 78.254783630371094 732.603729248046875 74.265716552734375 725.695556640625 70.276657104492188 725.695556640625 78.254783630371094"></polygon>
      </g>
      <rect x="732.673021895081547" y="49.265719450409051" width="89.465350685417434" height="50" rx="3.999999999999996" ry="3.999999999999996" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="822.13836669921875" y1="74.265716552734375" x2="834.78155517578125" y2="74.265716552734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="833.6143798828125 78.254783630371094 840.522552490234375 74.265716552734375 833.6143798828125 70.276657104492188 833.6143798828125 78.254783630371094"></polygon>
      </g>
      <rect x="840.5918490703516" y="49.265719450409051" width="121.27089550128585" height="50" rx="3.999999999999995" ry="3.999999999999995" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="961.86273193359375" y1="74.265716552734375" x2="1014.04779052734375" y2="74.265716552734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1012.880615234375 78.254783630371094 1019.788818359375 74.265716552734375 1012.880615234375 70.276657104492188 1012.880615234375 78.254783630371094"></polygon>
      </g>
      <text transform="translate(605.68096923828125 78.356796264648438)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text transform="translate(747.4981689453125 78.357223510742188)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text transform="translate(846.734161376953125 78.356796264648438)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <text transform="translate(968.6260986328125 69.688858032226562)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
      <text transform="translate(968.62628173828125 33.739089965820312)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
    </g>
    <g>
      <g>
        <line x1="575.766067504882812" y1="192.027481079101562" x2="588.409255981445312" y2="192.027481079101562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="587.2420654296875 196.016555786132812 594.150253295898438 192.027481079101562 587.2420654296875 188.038421630859375 587.2420654296875 196.016555786132812"></polygon>
      </g>
      <g>
        <line x1="575.766067504882812" y1="158.192291259765625" x2="1014.04779052734375" y2="158.192291259765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1012.880615234375 162.181350708007812 1019.788818359375 158.192291259765625 1012.880615234375 154.203216552734375 1012.880615234375 162.181350708007812"></polygon>
      </g>
      <rect x="594.219545405221652" y="167.027487752344314" width="120.000000000007276" height="50" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="714.21954345703125" y1="192.027481079101562" x2="726.86273193359375" y2="192.027481079101562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="725.695556640625 196.016555786132812 732.603729248046875 192.027481079101562 725.695556640625 188.038421630859375 725.695556640625 196.016555786132812"></polygon>
      </g>
      <rect x="732.673021895081547" y="167.027487752344314" width="89.465350685417434" height="50" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="822.13836669921875" y1="192.027481079101562" x2="834.78155517578125" y2="192.027481079101562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="833.6143798828125 196.016555786132812 840.522552490234375 192.027481079101562 833.6143798828125 188.038421630859375 833.6143798828125 196.016555786132812"></polygon>
      </g>
      <rect x="840.5918490703516" y="167.027487752344314" width="121.27089550128585" height="50" rx="3.999999999999995" ry="3.999999999999995" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="961.86273193359375" y1="192.027481079101562" x2="1014.04779052734375" y2="192.027481079101562" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1012.880615234375 196.016555786132812 1019.788818359375 192.027481079101562 1012.880615234375 188.038421630859375 1012.880615234375 196.016555786132812"></polygon>
      </g>
      <text transform="translate(605.68096923828125 196.118484497070312)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text transform="translate(747.4981689453125 196.118911743164062)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text transform="translate(846.734161376953125 196.118484497070312)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <text transform="translate(968.6260986328125 187.450576782226562)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_3</tspan></text>
      <text transform="translate(968.62628173828125 151.500869750976562)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_2</tspan></text>
    </g>
    <g>
      <g>
        <line x1="575.766067504882812" y1="309.348922729492188" x2="588.409255981445312" y2="309.348922729492188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="587.2420654296875 313.337966918945312 594.150253295898438 309.348922729492188 587.2420654296875 305.359848022460938 587.2420654296875 313.337966918945312"></polygon>
      </g>
      <g>
        <line x1="575.766067504882812" y1="275.513717651367188" x2="1014.04779052734375" y2="275.513717651367188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1012.880615234375 279.502792358398438 1019.788818359375 275.513717651367188 1012.880615234375 271.524642944335938 1012.880615234375 279.502792358398438"></polygon>
      </g>
      <rect x="594.219545405221652" y="284.348918108065845" width="120.000000000007276" height="50" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="714.21954345703125" y1="309.348922729492188" x2="726.86273193359375" y2="309.348922729492188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="725.695556640625 313.337966918945312 732.603729248046875 309.348922729492188 725.695556640625 305.359848022460938 725.695556640625 313.337966918945312"></polygon>
      </g>
      <rect x="732.673021895081547" y="284.348918108065845" width="89.465350685417434" height="50" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="822.13836669921875" y1="309.348922729492188" x2="834.78155517578125" y2="309.348922729492188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="833.6143798828125 313.337966918945312 840.522552490234375 309.348922729492188 833.6143798828125 305.359848022460938 833.6143798828125 313.337966918945312"></polygon>
      </g>
      <rect x="840.5918490703516" y="284.348918108065845" width="121.27089550128585" height="50" rx="3.999999999999995" ry="3.999999999999995" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="961.86273193359375" y1="309.348922729492188" x2="1014.04779052734375" y2="309.348922729492188" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1012.880615234375 313.337966918945312 1019.788818359375 309.348922729492188 1012.880615234375 305.359848022460938 1012.880615234375 313.337966918945312"></polygon>
      </g>
      <text transform="translate(605.68096923828125 313.439956665039062)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text transform="translate(747.4981689453125 313.440383911132812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite</tspan></text>
      <text transform="translate(846.734161376953125 313.439956665039062)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <text transform="translate(963.81768798828125 302.800247192382812)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_n-1</tspan></text>
      <text transform="translate(962.69000244140625 269.666458129882812)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_n-2</tspan></text>
    </g>
    <g>
      <path d="M1259.324490709244856,305.687478637690219c.001393890381223-.745582866664336.606937980652219-1.348867893218994,1.352521705628533-1.347474002832314.248203468321663.000463485717773.491475105285645.069345188137959.703078651427859.199073982235859l6.595199203491575,4.048200130462646c.635238075255984.390344238279795.833762741087412,1.221743202208017.443418502807617,1.85698127746582-.110953330993652.180562019348145-.262856483459473.332465171813965-.443418502807617.443418502807617l-6.595199203491575,4.05000000000291c-.63563804626574.389691925047373-1.466832733154661.190314102168486-1.856524658203853-.445323944091797-.130368232727051-.212645530700684-.199274826049077-.457250976563955-.199075698852539-.706676673893526v-8.098199272157217Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M1253.924490709245219,329.53747863769604h18" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <rect x="1244.924490709245219" y="297.137478637694585" width="36" height="25.19999999999709" rx="2" ry="2" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
    </g>
    <text transform="translate(1162.75213623046875 196.540237426757812)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">filesink</tspan></text>
    <g>
      <path d="M1269.674490709239763,169.540573151851277h-20.25c-2.485281229019165,0-4.5,2.014718770980835-4.5,4.5v36c0,2.485283374786377,2.014718770980835,4.5,4.5,4.5h27c2.485283374786377,0,4.5-2.014716625213623,4.5-4.5v-29.25l-11.25-11.25Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M1267.424490709239763,169.540573151851277v9c0,2.485281229019165,2.014718770980835,4.5,4.5,4.5h9" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M1258.424490709239763,189.790573151851277l11.25,6.75-11.25,6.75v-13.5Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
    </g>
  </g>
</svg>

**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@<IP address of the device>:/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 <model_filename> root@<IP address of target device>:/etc/models
            Copy to clipboard
    - For Ubuntu Server:

scp yolov5m-int8.tflite ubuntu@<IP address of the device>:/home/ubuntu
            ssh ubuntu@<IP address of the device>
            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 <cite>Sample model and label files &lt;section_pnn_hmb_4dc&gt;</cite>.

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-80022-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-80022-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": "<number-of-cameras>",
          "camera-id": "<specific-camera-id>",
          "input-file-path": "<JSON-array-of-input-file>",
          "input-rtsp-path": "<JSON-array-of-RTSP-URLs>",
          "model": "<path-to-model-file>",
          "labels": "<path-to-label-file>",
          "output-file-path": "<path-to-output-file>",
          "output-ip-address": "<IP-address-of-output>",
          "output-port-number": "<port number over which rtsp stream can be
        listened>",
          "output-display": "<true or false>"
        }
        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@<IP address of target device>:/etc/media/out.mp4 <destination directory>
            Copy to clipboard
    - For Ubuntu Server host:

scp ubuntu@<IP address of target device>:/etc/media/out.mp4 <destination directory>
            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-80022-50/topic/qtiqmmfsrc.html) | <ul class="simple"><br><li><p>Captures the live stream from camera.</p></li><br><li><p>Uses tee to split the stream for inferencing.</p></li><br></ul> |
| File source: filesrc | <ul class="simple"><br><li><p>Captures the video stream using filesrc, followed by qtdemux, which demultiplexes the stream.</p></li><br><li><p>Uses tee to split the stream for inferencing.</p></li><br></ul> |
| RTSP source: rtspsrc | <ul class="simple"><br><li><p>Captures the RTSP stream using rtspsrc, followed by rtph264depay for video extraction.</p></li><br><li><p>Uses tee to split the stream for inferencing.</p></li><br></ul> |
| h264parse | Parses the H.264 video. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-80022-50/topic/v4l2h264dec.html) | Decodes the video. |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlvconverter.html) | <ol class="arabic simple"><br><li><p>Receives the video stream on its sink pad.</p></li><br><li><p>Performs the following preprocessing on the stream data. This is done when the model expects floating-point values as input.</p><ol class="arabic simple"><br><li><p>Color conversion</p></li><br><li><p>Scaling (up or down)</p></li><br><li><p>Normalization</p></li><br></ol><br></li><br></ol><br><br>The tensor stream is used for inferencing in the later stages of the pipeline. |
| [qtimltflite](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimltflite.html) | Runs on the LiteRT and uses the `yolov5.tflite` model for object detection.<br><ol class="arabic simple"><br><li><p>After the inference runtime receives the tensor stream on its sink pad, it runs the inference.</p></li><br><li><p>Produces a tensor stream with the inference results on its source pad.</p></li><br></ol> |
| [qtimlpostprocess](https://docs.qualcomm.com/doc/80-80022-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-80022-50/topic/qtivcomposer.html) | <ol class="arabic simple"><br><li><p>Composes frames with contents from its sink pads.</p></li><br><li><p>Pushes the GStreamer buffers containing these composed frames to its source pad.</p></li><br></ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-80022-50/topic/waylandsink.html) | <ol class="arabic simple"><br><li><p>Waylandsink submits the video stream received on its sink pad to Wayland compositor.</p></li><br><li><p>Renders the video stream on a local display.</p></li><br></ol> |
| 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-80022-50/topic/qtirtspbin.html) | <ol class="arabic simple"><br><li><p>Serves as a network sink.</p></li><br><li><p>Transmits UDP packets to the network.</p></li><br></ol> |

## 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:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">num-camera</span></code>: The number of inputs from the camera. Select either 1 or 2.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">camera-id</span></code>: The id of the test camera. Select either 0 or 1.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">input-file-path</span></code>: The directory path to the video file.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">input-rtsp-path</span></code>: The address of the RTSP stream: <code class="docutils literal notranslate"><span class="pre">rtsp://&lt;ip&gt;:&lt;port&gt;/&lt;stream&gt;</span></code></p></li><br></ul> |
| **Models and labels** | <ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">model</span></code>: The path to the model file.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">labels</span></code>: The path to the label file.</p></li><br></ul> |
| **Output** | Use one of the following outputs:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">output-file-path</span></code>: The directory path to save the output file.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">output-ip-address</span></code>: The IP address of the device on which the RTSP stream can be played.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">output-port-number</span></code>: The port number of the device on which the RTSP stream can be played.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">output-display</span></code>: The connected display device for preview.</p></li><br></ul> |

## 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-80022-50/topic/gst-ai-object-detection.html)

Last Published: May 14, 2026