# Multistream batch inference

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/multistream-batch-inference.html](https://docs.qualcomm.com/doc/80-70022-50/topic/multistream-batch-inference.html)

The **gst-ai-multistream-batch-inference** application shows batched AI inference
        (object detection and segmentation) on up to 24 input streams from video files.

Note: This application isn't available for the Ubuntu Server.

The following figure shows the pipeline, which receives several input streams,
            preprocesses them, runs AI inferences, combines the streams with inference, and merges
            them into a single video output.

The maximum number of input streams supported on each SoC are follows:
- QCS6490–8
- Dragonwing IQ-8275–4
- Dragonwing IQ-9075–4

Note: Dragonwing IQ-8275 doesn't support the Ubuntu
                Server.

The output is displayed either on an HDMI display or saved as an H.264 encoded MP4
            file.

For information about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70022-50/topic/multistream-batch-inference.html#multistream-batch-inference__section_lnx_1np_rcc).

Figure : gst-ai-multistream-batch-inference pipeline
            
            <!--?xml version="1.0" encoding="UTF-8"?-->
<svg xmlns="http://www.w3.org/2000/svg" width="1293.828002929688409" height="714.750988006591797" viewbox="0 0 1293.828002929688409 714.750988006591797">
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect x=".500122070313409" y=".500194549560547" width="1292.828125" height="713.7509765625" rx="7.5" ry="7.5" style="fill: #fafafa;"></rect>
      <path d="M1285.828002929688409,1c3.85980224609375,0,7,3.140167236328125,7,7v698.750988006591797c0,3.85986328125-3.14019775390625,7-7,7H8c-3.859832763670966,0-7-3.14013671875-7-7V8c0-3.859832763671875,3.140167236329034-7,7-7h1277.828002929688409M1285.828002929688409,0H8C3.581817626954034,0,0,3.581666946411133,0,8v698.750988006591797c0,4.4183349609375,3.581817626954034,8,8,8h1277.828002929688409c4.41815185546875,0,8-3.5816650390625,8-8V8c0-4.418333053588867-3.58184814453125-8-8-8h0Z" style="fill: #d2d7e1;"></path>
    </g>
    <g>
      <g>
        <text transform="translate(1096.756256103516534 692.842479705810547)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="1076.505259189533717" y="680.750988006591797" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(1195.338043212891534 692.842479705810547)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
        <rect x="1175.087040602386878" y="680.750988006591797" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
  </g>
  <g id="Layer_3" data-name="Layer 3">
    <g>
      <rect x="1063.35604949570461" y="19.999994842082742" width="95" height="638.751001935725071" rx="8" ry="8" style="fill: #2a2aea;"></rect>
      <text transform="translate(1074.211303710938409 342.882152557373047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtivcomposer</tspan></text>
      <g>
        <g>
          <rect x="425.409250742911354" y="20.18428200359449" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 53.691082000732422)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,27.68428200359449h-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.530018548829503,27.68428200359449v9c0,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.530018548829503,47.93428200359449l11.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>
          <rect x="70.595344783489963" y="20.18428200359449" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="50.184284210205078" x2="139.238525390625" y2="50.184284210205078" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 54.173343658447266 144.979522705079034 50.184284210205078 138.071350097657159 46.195217132568359 138.071350097657159 54.173343658447266"></polygon>
          </g>
          <line x1="57.926382084387114" y1="50.18428200359449" x2="70.595344783489963" y2="50.18428200359449" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="20.18428200359449" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="50.184284210205078" x2="222.692016601563409" y2="50.184284210205078" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 54.173343658447266 228.432998657227472 50.184284210205078 221.524826049805597 46.195217132568359 221.524826049805597 54.173343658447266"></polygon>
          </g>
          <rect x="228.502297763200659" y="20.18428200359449" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="50.184284210205078" x2="316.145492553711847" y2="50.184284210205078" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 54.173343658447266 321.886474609375 50.184284210205078 314.978302001954034 46.195217132568359 314.978302001954034 54.173343658447266"></polygon>
          </g>
          <rect x="321.955774253056006" y="20.18428200359449" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="50.184284210205078" x2="419.598968505860284" y2="50.184284210205078" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 54.173343658447266 425.339950561524347 50.184284210205078 418.431777954102472 46.195217132568359 418.431777954102472 54.173343658447266"></polygon>
          </g>
          <text transform="translate(82.156768798829034 53.706401824951172)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 54.275981903076172)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 54.275859832763672)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 53.690654754638672)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <rect x="425.409250742911354" y="92.619929045160461" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 126.126720428466797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,100.119929045160461h-20.25c-2.485281229017346,0-4.5,2.014718770979016-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.530018548829503,100.119929045160461v9c0,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.530018548829503,120.369929045160461l11.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>
          <rect x="70.595344783489963" y="92.619929045160461" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="122.619930267333984" x2="139.238525390625" y2="122.619930267333984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 126.608989715576172 144.979522705079034 122.619930267333984 138.071350097657159 118.630870819091797 138.071350097657159 126.608989715576172"></polygon>
          </g>
          <line x1="57.926382084387114" y1="122.619929045160461" x2="70.595344783489963" y2="122.619929045160461" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="92.619929045160461" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="122.619930267333984" x2="222.692016601563409" y2="122.619930267333984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 126.608989715576172 228.432998657227472 122.619930267333984 221.524826049805597 118.630870819091797 221.524826049805597 126.608989715576172"></polygon>
          </g>
          <rect x="228.502297763200659" y="92.619929045160461" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="122.619930267333984" x2="316.145492553711847" y2="122.619930267333984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 126.608989715576172 321.886474609375 122.619930267333984 314.978302001954034 118.630870819091797 314.978302001954034 126.608989715576172"></polygon>
          </g>
          <rect x="321.955774253056006" y="92.619929045160461" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="122.619930267333984" x2="419.598968505860284" y2="122.619930267333984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 126.608989715576172 425.339950561524347 122.619930267333984 418.431777954102472 118.630870819091797 418.431777954102472 126.608989715576172"></polygon>
          </g>
          <text transform="translate(82.156768798829034 126.142040252685547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 126.711620330810547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 126.711498260498047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 126.126293182373047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <rect x="425.409250742911354" y="165.055576086726433" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 198.562389373779297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,172.555576086726433h-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.530018548829503,172.555576086726433v9c0,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.530018548829503,192.805576086726433l11.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>
          <rect x="70.595344783489963" y="165.055576086726433" width="56" height="60.000000000000028" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="195.055568695068359" x2="139.238525390625" y2="195.055568695068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 199.044643402099609 144.979522705079034 195.055568695068359 138.071350097657159 191.066509246826172 138.071350097657159 199.044643402099609"></polygon>
          </g>
          <line x1="57.926382084387114" y1="195.055576086726433" x2="70.595344783489963" y2="195.055576086726433" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="165.055576086726433" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="195.055568695068359" x2="222.692016601563409" y2="195.055568695068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 199.044643402099609 228.432998657227472 195.055568695068359 221.524826049805597 191.066509246826172 221.524826049805597 199.044643402099609"></polygon>
          </g>
          <rect x="228.502297763200659" y="165.055576086726433" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="195.055568695068359" x2="316.145492553711847" y2="195.055568695068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 199.044643402099609 321.886474609375 195.055568695068359 314.978302001954034 191.066509246826172 314.978302001954034 199.044643402099609"></polygon>
          </g>
          <rect x="321.955774253056006" y="165.055576086726433" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="195.055568695068359" x2="419.598968505860284" y2="195.055568695068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 199.044643402099609 425.339950561524347 195.055568695068359 418.431777954102472 191.066509246826172 418.431777954102472 199.044643402099609"></polygon>
          </g>
          <text transform="translate(82.156768798829034 198.577709197998047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 199.147289276123047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 199.147167205810547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 198.561962127685547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <rect x="425.409250742911354" y="237.491223128292404" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 270.998058319091797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,244.991223128292404h-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.530018548829503,244.991223128292404v9c0,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.530018548829503,265.241223128292404l11.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>
          <rect x="70.595344783489963" y="237.491223128292404" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="267.491222381591797" x2="139.238525390625" y2="267.491222381591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 271.480297088623047 144.979522705079034 267.491222381591797 138.071350097657159 263.502147674560547 138.071350097657159 271.480297088623047"></polygon>
          </g>
          <line x1="57.926382084387114" y1="267.491223128292404" x2="70.595344783489963" y2="267.491223128292404" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="237.491223128292404" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="267.491222381591797" x2="222.692016601563409" y2="267.491222381591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 271.480297088623047 228.432998657227472 267.491222381591797 221.524826049805597 263.502147674560547 221.524826049805597 271.480297088623047"></polygon>
          </g>
          <rect x="228.502297763200659" y="237.491223128292404" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="267.491222381591797" x2="316.145492553711847" y2="267.491222381591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 271.480297088623047 321.886474609375 267.491222381591797 314.978302001954034 263.502147674560547 314.978302001954034 271.480297088623047"></polygon>
          </g>
          <rect x="321.955774253056006" y="237.491223128292404" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="267.491222381591797" x2="419.598968505860284" y2="267.491222381591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 271.480297088623047 425.339950561524347 267.491222381591797 418.431777954102472 263.502147674560547 418.431777954102472 271.480297088623047"></polygon>
          </g>
          <text transform="translate(82.156768798829034 271.013378143310547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 271.582958221435547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(466.295593261719659 345.375865936279297)" style="font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">File input streams</tspan></text>
          <text transform="translate(237.657348632813409 271.582836151123047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 270.997631072998047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <g>
            <polyline points="485.409250259400324 65.184284210205078 509.463764190674738 65.184284210205078 509.463764190674738 141.221752166748047 515.7500343322763 141.221752166748047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 145.210826873779297 521.491016387940363 141.221752166748047 514.582843780518488 137.232692718505859 514.582843780518488 145.210826873779297"></polygon>
          </g>
          <g>
            <line x1="485.409250259400324" y1="35.184280395507812" x2="1057.615051269532159" y2="35.184280395507812" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 39.173347473144531 1063.356079101563409 35.184280395507812 1056.447875976563409 31.195217132568359 1056.447875976563409 39.173347473144531"></polygon>
          </g>
        </g>
        <g>
          <g>
            <polyline points="485.409250259400324 122.619930267333984 497.436506271363214 122.619930267333984 497.436506271363214 153.254253387451172 515.7500343322763 153.254253387451172" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 157.243312835693359 521.491016387940363 153.254253387451172 514.582843780518488 149.265193939208984 514.582843780518488 157.243312835693359"></polygon>
          </g>
          <g>
            <line x1="485.409250259400324" y1="107.619930267333984" x2="1057.615051269532159" y2="107.619930267333984" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 111.608989715576172 1063.356079101563409 107.619930267333984 1056.447875976563409 103.630863189697266 1056.447875976563409 111.608989715576172"></polygon>
          </g>
        </g>
        <g>
          <g>
            <line x1="485.409250259400324" y1="210.055568695068359" x2="1057.615051269532159" y2="210.055568695068359" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 214.044643402099609 1063.356079101563409 210.055568695068359 1056.447875976563409 206.066509246826172 1056.447875976563409 214.044643402099609"></polygon>
          </g>
          <g>
            <polyline points="485.409250259400324 192.555248260498047 497.436506271363214 192.555248260498047 497.436506271363214 167.117534637451172 515.7500343322763 167.117534637451172" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 171.106594085693359 521.491016387940363 167.117534637451172 514.582843780518488 163.128475189208984 514.582843780518488 171.106594085693359"></polygon>
          </g>
        </g>
        <g>
          <g>
            <line x1="485.409250259400324" y1="282.491222381591797" x2="1057.615051269532159" y2="282.491222381591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 286.480297088623047 1063.356079101563409 282.491222381591797 1056.447875976563409 278.502147674560547 1056.447875976563409 286.480297088623047"></polygon>
          </g>
          <g>
            <polyline points="485.409250259400324 252.491222381591797 509.463764190674738 252.491222381591797 509.463764190674738 178.942119598388672 515.7500343322763 178.942119598388672" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 182.931179046630859 521.491016387940363 178.942119598388672 514.582843780518488 174.953060150146484 514.582843780518488 182.931179046630859"></polygon>
          </g>
        </g>
        <g>
          <g>
            <line x1="590.956367492676691" y1="158.837749481201172" x2="603.599563598633722" y2="158.837749481201172" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="602.432373046876819 162.826824188232422 609.340545654297784 158.837749481201172 602.432373046876819 154.848690032958984 602.432373046876819 162.826824188232422"></polygon>
          </g>
          <rect x="609.409845293328544" y="131.337752565943447" width="100.000000000006366" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
          <g>
            <line x1="709.409851074219659" y1="158.837749481201172" x2="722.053039550782159" y2="158.837749481201172" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="720.885848999024347 162.826824188232422 727.794036865235284 158.837749481201172 720.885848999024347 154.848690032958984 720.885848999024347 162.826824188232422"></polygon>
          </g>
          <rect x="727.86332178318753" y="131.337752565943447" width="69.465350685417434" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
          <g>
            <line x1="797.328674316407159" y1="158.837749481201172" x2="809.971862792969659" y2="158.837749481201172" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="808.804687500000909 162.826824188232422 815.712860107422784 158.837749481201172 808.804687500000909 154.848690032958984 808.804687500000909 162.826824188232422"></polygon>
          </g>
          <text transform="translate(617.805175781250909 162.344432830810547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
          <text transform="translate(734.488739013672784 147.945110321044922)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-.85546875" y="14.39990234375">qtimlsnpe/</tspan><tspan x="4.53515625" y="28.7998046875">qtimlqnn</tspan></text>
          <rect x="521.491018118057582" y="131.337752565943447" width="69.465350685417434" height="55" rx="4.000000000000001" ry="4.000000000000001" style="fill: #2a2aea;"></rect>
          <text transform="translate(534.362464904786066 162.344860076904297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtibatch</tspan></text>
          <rect x="815.782148958457583" y="131.337752565943447" width="79.465350685417434" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
          <g>
            <g>
              <line x1="895.247497558594659" y1="141.392299652099609" x2="907.890686035157159" y2="141.392299652099609" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
              <polygon points="906.723510742188409 145.381359100341797 913.631683349610284 141.392299652099609 906.723510742188409 137.403224945068359 906.723510742188409 145.381359100341797"></polygon>
            </g>
            <g>
              <line x1="895.247497558594659" y1="153.022594451904297" x2="907.890686035157159" y2="153.022594451904297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
              <polygon points="906.723510742188409 157.011669158935547 913.631683349610284 153.022594451904297 906.723510742188409 149.033535003662109 906.723510742188409 157.011669158935547"></polygon>
            </g>
            <g>
              <line x1="895.247497558594659" y1="164.652904510498047" x2="907.890686035157159" y2="164.652904510498047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
              <polygon points="906.723510742188409 168.641963958740234 913.631683349610284 164.652904510498047 906.723510742188409 160.663845062255859 906.723510742188409 168.641963958740234"></polygon>
            </g>
            <g>
              <line x1="895.247497558594659" y1="176.283214569091797" x2="907.890686035157159" y2="176.283214569091797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
              <polygon points="906.723510742188409 180.272274017333984 913.631683349610284 176.283214569091797 906.723510742188409 172.294155120849609 906.723510742188409 180.272274017333984"></polygon>
            </g>
          </g>
          <g>
            <line x1="1044.971862792969659" y1="158.837749481201172" x2="1057.615051269532159" y2="158.837749481201172" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 162.826824188232422 1063.356079101563409 158.837749481201172 1056.447875976563409 154.848690032958984 1056.447875976563409 162.826824188232422"></polygon>
          </g>
          <rect x="913.700976133727636" y="131.337752565943447" width="131.27089550128585" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
          <text transform="translate(823.871734619141534 162.344860076904297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimldemux</tspan></text>
          <text transform="translate(932.628845214844659 162.344646453857422)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
        </g>
      </g>
      <g>
        <g>
          <rect x="425.409250742911354" y="381.444055653109899" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 414.950878143310547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,388.944055653109899h-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.530018548829503,388.944055653109899v9c0,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.530018548829503,409.194055653109899l11.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>
          <rect x="70.595344783489963" y="381.444055653109899" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="411.444042205810547" x2="139.238525390625" y2="411.444042205810547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 415.433116912841797 144.979522705079034 411.444042205810547 138.071350097657159 407.454998016357422 138.071350097657159 415.433116912841797"></polygon>
          </g>
          <line x1="57.926382084387114" y1="411.444055653109899" x2="70.595344783489963" y2="411.444055653109899" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="381.444055653109899" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="411.444042205810547" x2="222.692016601563409" y2="411.444042205810547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 415.433116912841797 228.432998657227472 411.444042205810547 221.524826049805597 407.454998016357422 221.524826049805597 415.433116912841797"></polygon>
          </g>
          <rect x="228.502297763200659" y="381.444055653109899" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="411.444042205810547" x2="316.145492553711847" y2="411.444042205810547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 415.433116912841797 321.886474609375 411.444042205810547 314.978302001954034 407.454998016357422 314.978302001954034 415.433116912841797"></polygon>
          </g>
          <rect x="321.955774253056006" y="381.444055653109899" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="411.444042205810547" x2="419.598968505860284" y2="411.444042205810547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 415.433116912841797 425.339950561524347 411.444042205810547 418.431777954102472 407.454998016357422 418.431777954102472 415.433116912841797"></polygon>
          </g>
          <text transform="translate(82.156768798829034 414.966197967529297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 415.535778045654297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 415.535655975341797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 414.950450897216797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <rect x="425.409250742911354" y="453.879702694675871" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 487.386486053466797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,461.379702694675871h-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.530018548829503,461.379702694675871v9c0,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.530018548829503,481.629702694675871l11.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>
          <rect x="70.595344783489963" y="453.879702694675871" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="483.879711151123047" x2="139.238525390625" y2="483.879711151123047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 487.868755340576172 144.979522705079034 483.879711151123047 138.071350097657159 479.890636444091797 138.071350097657159 487.868755340576172"></polygon>
          </g>
          <line x1="57.926382084387114" y1="483.879702694675871" x2="70.595344783489963" y2="483.879702694675871" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="453.879702694675871" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="483.879711151123047" x2="222.692016601563409" y2="483.879711151123047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 487.868755340576172 228.432998657227472 483.879711151123047 221.524826049805597 479.890636444091797 221.524826049805597 487.868755340576172"></polygon>
          </g>
          <rect x="228.502297763200659" y="453.879702694675871" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="483.879711151123047" x2="316.145492553711847" y2="483.879711151123047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 487.868755340576172 321.886474609375 483.879711151123047 314.978302001954034 479.890636444091797 314.978302001954034 487.868755340576172"></polygon>
          </g>
          <rect x="321.955774253056006" y="453.879702694675871" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="483.879711151123047" x2="419.598968505860284" y2="483.879711151123047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 487.868755340576172 425.339950561524347 483.879711151123047 418.431777954102472 479.890636444091797 418.431777954102472 487.868755340576172"></polygon>
          </g>
          <text transform="translate(82.156768798829034 487.401805877685547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 487.971385955810547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 487.971263885498047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 487.386058807373047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <rect x="425.409250742911354" y="526.315349736241842" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 559.822154998779297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,533.815349736241842h-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.530018548829503,533.815349736241842v9c0,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.530018548829503,554.065349736241842l11.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>
          <rect x="70.595344783489963" y="526.315349736241842" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="556.315380096435547" x2="139.238525390625" y2="556.315380096435547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 560.304393768310547 144.979522705079034 556.315380096435547 138.071350097657159 552.326305389404297 138.071350097657159 560.304393768310547"></polygon>
          </g>
          <line x1="57.926382084387114" y1="556.315349736241842" x2="70.595344783489963" y2="556.315349736241842" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="526.315349736241842" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="556.315380096435547" x2="222.692016601563409" y2="556.315380096435547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 560.304393768310547 228.432998657227472 556.315380096435547 221.524826049805597 552.326305389404297 221.524826049805597 560.304393768310547"></polygon>
          </g>
          <rect x="228.502297763200659" y="526.315349736241842" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="556.315380096435547" x2="316.145492553711847" y2="556.315380096435547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 560.304393768310547 321.886474609375 556.315380096435547 314.978302001954034 552.326305389404297 314.978302001954034 560.304393768310547"></polygon>
          </g>
          <rect x="321.955774253056006" y="526.315349736241842" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="556.315380096435547" x2="419.598968505860284" y2="556.315380096435547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 560.304393768310547 425.339950561524347 556.315380096435547 418.431777954102472 552.326305389404297 418.431777954102472 560.304393768310547"></polygon>
          </g>
          <text transform="translate(82.156768798829034 559.837474822998047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 560.407054901123047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 560.406932830810547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 559.821727752685547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <rect x="425.409250742911354" y="598.750996777807813" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(447.091867685318903 632.257823944091797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">tee</tspan></text>
          <g>
            <path d="M45.780018548829503,606.250996777807813h-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.530018548829503,606.250996777807813v9c0,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.530018548829503,626.500996777807813l11.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>
          <rect x="70.595344783489963" y="598.750996777807813" width="56" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="126.595336914063409" y1="628.750988006591797" x2="139.238525390625" y2="628.750988006591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="138.071350097657159 632.740062713623047 144.979522705079034 628.750988006591797 138.071350097657159 624.761913299560547 138.071350097657159 632.740062713623047"></polygon>
          </g>
          <line x1="57.926382084387114" y1="628.750996777807813" x2="70.595344783489963" y2="628.750996777807813" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <rect x="145.048821273345311" y="598.750996777807813" width="65" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="210.048828125" y1="628.750988006591797" x2="222.692016601563409" y2="628.750988006591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="221.524826049805597 632.740062713623047 228.432998657227472 628.750988006591797 221.524826049805597 624.761913299560547 221.524826049805597 632.740062713623047"></polygon>
          </g>
          <rect x="228.502297763200659" y="598.750996777807813" width="75" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="303.502304077149347" y1="628.750988006591797" x2="316.145492553711847" y2="628.750988006591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="314.978302001954034 632.740062713623047 321.886474609375 628.750988006591797 314.978302001954034 624.761913299560547 314.978302001954034 632.740062713623047"></polygon>
          </g>
          <rect x="321.955774253056006" y="598.750996777807813" width="85.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
          <g>
            <line x1="406.955772399903253" y1="628.750988006591797" x2="419.598968505860284" y2="628.750988006591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="418.431777954102472 632.740062713623047 425.339950561524347 628.750988006591797 418.431777954102472 624.761913299560547 418.431777954102472 632.740062713623047"></polygon>
          </g>
          <text transform="translate(82.156768798829034 632.273143768310547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesrc</tspan></text>
          <text transform="translate(154.076385498047784 632.842723846435547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtdemux</tspan></text>
          <text transform="translate(237.657348632813409 632.842601776123047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">h264parse</tspan></text>
          <text transform="translate(329.328666687012628 632.257396697998047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
        </g>
        <g>
          <g>
            <polyline points="485.409250259400324 426.444042205810547 509.463764190674738 426.444042205810547 509.463764190674738 502.481517791748047 515.7500343322763 502.481517791748047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 506.470592498779297 521.491016387940363 502.481517791748047 514.582843780518488 498.492443084716797 514.582843780518488 506.470592498779297"></polygon>
          </g>
          <g>
            <line x1="485.409250259400324" y1="396.444042205810547" x2="1057.615051269532159" y2="396.444042205810547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 400.433116912841797 1063.356079101563409 396.444042205810547 1056.447875976563409 392.454998016357422 1056.447875976563409 400.433116912841797"></polygon>
          </g>
        </g>
        <g>
          <g>
            <polyline points="485.409250259400324 483.879711151123047 497.436506271363214 483.879711151123047 497.436506271363214 514.514049530029297 515.7500343322763 514.514049530029297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 518.503063201904297 521.491016387940363 514.514049530029297 514.582843780518488 510.524974822998047 514.582843780518488 518.503063201904297"></polygon>
          </g>
          <g>
            <line x1="485.409250259400324" y1="468.879711151123047" x2="1057.615051269532159" y2="468.879711151123047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 472.868755340576172 1063.356079101563409 468.879711151123047 1056.447875976563409 464.890636444091797 1056.447875976563409 472.868755340576172"></polygon>
          </g>
        </g>
        <g>
          <g>
            <line x1="485.409250259400324" y1="571.315380096435547" x2="1057.615051269532159" y2="571.315380096435547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 575.304393768310547 1063.356079101563409 571.315380096435547 1056.447875976563409 567.326305389404297 1056.447875976563409 575.304393768310547"></polygon>
          </g>
          <g>
            <polyline points="485.409250259400324 553.815013885498047 497.436506271363214 553.815013885498047 497.436506271363214 523.147411346435547 515.7500343322763 523.147411346435547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 527.136486053466797 521.491016387940363 523.147411346435547 514.582843780518488 519.158336639404297 514.582843780518488 527.136486053466797"></polygon>
          </g>
        </g>
        <g>
          <g>
            <line x1="485.409250259400324" y1="643.750988006591797" x2="1057.615051269532159" y2="643.750988006591797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
            <polygon points="1056.447875976563409 647.740062713623047 1063.356079101563409 643.750988006591797 1056.447875976563409 639.761913299560547 1056.447875976563409 647.740062713623047"></polygon>
          </g>
          <g>
            <polyline points="485.409250259400324 613.750988006591797 509.463764190674738 613.750988006591797 509.463764190674738 532.985912322998047 515.7500343322763 532.985912322998047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
            <polygon points="514.582843780518488 536.974987030029297 521.491016387940363 532.985912322998047 514.582843780518488 528.996837615966797 514.582843780518488 536.974987030029297"></polygon>
          </g>
        </g>
      </g>
      <g>
        <line x1="1158.356079101563409" y1="345.375499725341797" x2="1170.999267578125909" y2="345.375499725341797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1169.832031250000909 349.364574432373047 1176.740234375000909 345.375499725341797 1169.832031250000909 341.386425018310547 1169.832031250000909 349.364574432373047"></polygon>
      </g>
      <g>
        <g>
          <rect x="1184.953234842833808" y="354.798504455346119" width="81.825617818361934" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(1206.790710449219659 385.434581756591797)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">filesink</tspan></text>
        </g>
        <g>
          <rect x="1184.953234842833808" y="281.803987762797988" width="81.825617818361934" height="54.774142029076756" rx="4" ry="4" style="fill: #007884;"></rect>
          <text transform="translate(1192.124694824219659 311.053783416748047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">Waylandsink</tspan></text>
        </g>
        <g>
          <g>
            <rect x="1207.866043752014775" y="234.331750172963439" width="36" height="25.200000000002547" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
            <line x1="1218.66604375201041" y1="266.731750172964894" x2="1233.066043752008227" y2="266.731750172964894" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
          </g>
          <line x1="1225.866043752014775" y1="259.531750172965985" x2="1225.866043752014775" y2="266.731750172964894" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
        </g>
        <g>
          <path d="M1232.616043752012956,422.309332962808185h-20.249999999996362c-2.485281229019165,0-4.500000000001819,2.014718770982654-4.500000000001819,4.500000000001819v35.999999999996362c0,2.485283374786377,2.014718770982654,4.500000000001819,4.500000000001819,4.500000000001819h26.999999999996362c2.485283374784558,0,4.500000000001819-2.014716625215442,4.500000000001819-4.500000000001819v-29.249999999998181l-11.250000000001819-11.25Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <path d="M1230.366043752014775,422.309332962808185v9.000000000001819c0,2.485281229019165,2.014718770977197,4.5,4.499999999996362,4.5h9.000000000003638" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
          <path d="M1221.366043752014775,442.559332962806366l11.249999999998181,6.750000000001819-11.249999999998181,6.75v-13.500000000001819Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
        </g>
        <line x1="1225.866043752014775" y1="409.572646484422876" x2="1225.866043752014775" y2="422.154147824761822" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <line x1="1225.866043752014775" y1="269.222486422459042" x2="1225.866043752014775" y2="281.803987762797988" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <text transform="translate(1220.413822174073175 349.195323944091797)" style="font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">or</tspan></text>
      </g>
      <g>
        <line x1="454.122360229493097" y1="297.518138885498047" x2="454.122360229493097" y2="300.518138885498047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <line x1="454.122360229493097" y1="303.635173797607422" x2="454.122360229493097" y2="376.885540008544922" style="fill: none; stroke: #000; stroke-dasharray: 6.234074115753174 3.117037057876587; stroke-miterlimit: 10;"></line>
        <line x1="454.122360229493097" y1="378.444042205810547" x2="454.122360229493097" y2="381.444042205810547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      </g>
      <rect x="1177.904148888165764" y="222.116343400397454" width="95.923789727698022" height="259.518304819095647" rx="4" ry="4" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></rect>
    </g>
    <g>
      <g>
        <line x1="590.956367492676691" y1="521.597545623779297" x2="603.599563598633722" y2="521.597545623779297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="602.432373046876819 525.586620330810547 609.340545654297784 521.597545623779297 602.432373046876819 517.608470916748047 602.432373046876819 525.586620330810547"></polygon>
      </g>
      <rect x="609.409845293328544" y="494.097526215458856" width="100.000000000006366" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="709.409851074219659" y1="521.597545623779297" x2="722.053039550782159" y2="521.597545623779297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="720.885848999024347 525.586620330810547 727.794036865235284 521.597545623779297 720.885848999024347 517.608470916748047 720.885848999024347 525.586620330810547"></polygon>
      </g>
      <rect x="727.86332178318753" y="494.097526215458856" width="69.465350685417434" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="797.328674316407159" y1="521.597545623779297" x2="809.971862792969659" y2="521.597545623779297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="808.804687500000909 525.586620330810547 815.712860107422784 521.597545623779297 808.804687500000909 517.608470916748047 808.804687500000909 525.586620330810547"></polygon>
      </g>
      <text transform="translate(617.805175781250909 525.104198455810547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text transform="translate(734.488739013672784 510.704906463623047)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-.85546875" y="14.39990234375">qtimlsnpe/</tspan><tspan x="4.53515625" y="28.7998046875">qtimlqnn</tspan></text>
      <rect x="521.491018118057582" y="494.097526215458856" width="69.465350685417434" height="55" rx="4.000000000000001" ry="4.000000000000001" style="fill: #2a2aea;"></rect>
      <text transform="translate(534.362464904786066 525.104625701904297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtibatch</tspan></text>
      <rect x="815.782148958457583" y="494.097526215458856" width="79.465350685417434" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <g>
          <line x1="895.247497558594659" y1="504.152050018310547" x2="907.890686035157159" y2="504.152050018310547" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="906.723510742188409 508.141124725341797 913.631683349610284 504.152050018310547 906.723510742188409 500.162975311279297 906.723510742188409 508.141124725341797"></polygon>
        </g>
        <g>
          <line x1="895.247497558594659" y1="515.782360076904297" x2="907.890686035157159" y2="515.782360076904297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="906.723510742188409 519.771434783935547 913.631683349610284 515.782360076904297 906.723510742188409 511.793285369873047 906.723510742188409 519.771434783935547"></polygon>
        </g>
        <g>
          <line x1="895.247497558594659" y1="527.412670135498047" x2="907.890686035157159" y2="527.412670135498047" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="906.723510742188409 531.401744842529297 913.631683349610284 527.412670135498047 906.723510742188409 523.423595428466797 906.723510742188409 531.401744842529297"></polygon>
        </g>
        <g>
          <line x1="895.247497558594659" y1="539.042980194091797" x2="907.890686035157159" y2="539.042980194091797" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="906.723510742188409 543.032054901123047 913.631683349610284 539.042980194091797 906.723510742188409 535.053905487060547 906.723510742188409 543.032054901123047"></polygon>
        </g>
      </g>
      <g>
        <line x1="1044.971862792969659" y1="521.597545623779297" x2="1057.615051269532159" y2="521.597545623779297" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1056.447875976563409 525.586620330810547 1063.356079101563409 521.597545623779297 1056.447875976563409 517.608470916748047 1056.447875976563409 525.586620330810547"></polygon>
      </g>
      <rect x="913.700976133727636" y="494.097526215458856" width="131.27089550128585" height="55" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(823.871734619141534 525.104625701904297)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimldemux</tspan></text>
      <text transform="translate(932.628845214844659 525.104442596435547)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 12px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
    </g>
  </g>
</svg>

## Sample model and label files

| Runtime | Model files | Label files |
| --- | --- | --- |
| LiteRT | <ul class="ul" id="multistream-batch-inference__ul_ss5_zqh_4dc"><br>                                    <li class="li">Segmentation:<br>                                            <var class="keyword varname">deeplabv3_plus_mobilenet_quantized.tflite</var></li><br><br>                                    <li class="li">Object detection:<br>                                            <var class="keyword varname">yolov8_det_quantized.tflite</var></li><br><br>                                </ul> | <ul class="ul" id="multistream-batch-inference__ul_xhx_mg4_vdc"><br>                                    <li class="li">Segmentation:<br>                                        <var class="keyword varname">deeplabv3_resnet50.json</var></li><br><br>                                    <li class="li">Object detection: <var class="keyword varname">yolov8.json</var></li><br><br>                                </ul> |
| Qualcomm AI Engine direct | <ul class="ul"><br>                                    <li class="li">Segmentation:<br>                                            <var class="keyword varname">deeplabv3_plus_mobilenet_quantized.bin</var></li><br><br>                                    <li class="li">Object detection:<br>                                            <var class="keyword varname">yolov8_det_quantized.bin</var></li><br><br>                                </ul> | <ul class="ul" id="multistream-batch-inference__ul_xhx_mg4_vdc"><br>                                    <li class="li">Segmentation:<br>                                        <var class="keyword varname">deeplabv3_resnet50.json</var></li><br><br>                                    <li class="li">Object detection: <var class="keyword varname">yolov8.json</var></li><br><br>                                </ul> |
| Qualcomm Neural Processing SDK | <ul class="ul"><br>                                    <li class="li">Segmentation:<br>                                            <var class="keyword varname">deeplabv3_plus_mobilenet_quantized.dlc</var></li><br><br>                                    <li class="li">Object detection:<br>                                            <var class="keyword varname">yolov8_det_quantized.dlc</var></li><br><br>                                </ul> | <ul class="ul" id="multistream-batch-inference__ul_xhx_mg4_vdc"><br>                                    <li class="li">Segmentation:<br>                                        <var class="keyword varname">deeplabv3_resnet50.json</var></li><br><br>                                    <li class="li">Object detection: <var class="keyword varname">yolov8.json</var></li><br><br>                                </ul> |
|  |  |  |
|  |  |  |

## Run the application on the target device

The sample application uses the
                    /etc/configs/config-multistream-batch-inference.json file
                to read the input parameters.

To create your own config JSON file, use [config-multistream-batch-inference.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-multistream-batch-inference/config-multistream-batch-inference.json) as
                a reference.

1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70022-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-70022-50/topic/multistream-batch-inference.html#multistream-batch-inference__section_axy_ntn_q2c).
3. Use the following format of the
                        `config-multistream-batch-inference.json` file:
    For 16 and
                        24 streams, add the required elements in the `pipeline-info`
                        parameter. The `id` parameter takes the values from 0 to 5
                        for each added batch.

        {
        “output-type”: “wayland or filesink”,
        "out-file":"<Path to output file if output-type is filesink>",
         “pipeline-info”:[
            {
          "id": "<Batch id takes value from 0 to 5>",
          “Input type”: “<Input source type like file>”,
          “input-file-path”: [
            {
            “<stream[i]: Comma separated input file/RTSP path>”
            }
           ],
        "mlframework": "<tflite or snpe or qnn>",
        "model-path": "<path-to-model-file>",
        "labels": "<path-to-label-file>",
        "post processing plugin": "< qtimlvdetection or qtimlvsegmentation>"
            }
          ]
        }Copy to clipboard

    For example, run the application using the LiteRT model,
                        video file source, label paths, and the qtimlpostprocess plugin along with
                        Wayland output.

        {
          "output-type":"wayland",
          "pipeline-info":[
            {
              "id":0,
              "input-type":"file",
              "input-file-path":[
                {
                    "stream-0":"/etc/media/video.mp4",
                    "stream-1":"/etc/media/video.mp4",
                    "stream-2":"/etc/media/video.mp4",
                    "stream-3":"/etc/media/video.mp4"
                }
              ],
              "mlframework":"tflite",
              "model-path":"/etc/models/yolov8_det_quantized.tflite",
              "labels-path":"/etc/labels/yolov8.json",
              "post-process-plugin": "qtimlvdetection"
            }
          ]
        }Copy to clipboard
4. Run the gst-ai-multistream-batch-inference
                    application:

        gst-ai-multistream-batch-inference --config-file=/etc/configs/config-multistream-batch-inference.jsonCopy to clipboard
5. To display the available help options, run the following command in the SSH
                        shell:

        gst-ai-multistream-batch-inference -hCopy to clipboard
6. To stop the use case, use CTRL +
                            C.

## Expected output

Figure : Expected output for gst-ai-multistream-batch-inference–Preview
                
                ![](data:image/png;base64,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)

## Pipeline flow

The following table lists the plugins used in the multistream batch inference
                    pipeline:

| Plugin | Description |
| --- | --- |
| File source: filesrc | <ul class="ul" id="multistream-batch-inference__ul_z1z_x4f_w1c"><br>                                    <li class="li">Captures the video stream using filesrc, followed by<br>                                        qtdemux, which demultiplexes the stream.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| h264parse | Parses the H.264 video. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h264dec.html) | Decodes the video. |
| [qtibatch](https://docs.qualcomm.com/doc/80-70022-50/topic/qtibatch.html) | <ul class="ul" id="multistream-batch-inference__ul_fbn_bdq_rcc"><br>                                    <li class="li">Reads input from the streams on its sink pad.</li><br><br>                                    <li class="li">Batches the streams for preprocessing.</li><br><br>                                </ul> |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlvconverter.html) | <ol class="ol" id="multistream-batch-inference__ol_kgt_hnq_nbc"><br>                                    <li class="li">Receives the batched video streams on its sink pad.</li><br><br>                                    <li class="li">Performs the following preprocessing on the stream data.<br>                                        This preprocessing is done when the model expects<br>                                        floating-point values as input.<ol class="ol" type="a" id="multistream-batch-inference__ol_drd_jnq_nbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling (up or down)</li><br><br>                                            <li class="li">Normalization</li><br><br>                                        </ol><br></li><br><br>                                </ol><br><br>                                <br>The tensor stream is used for inferencing in the later stages of<br>                                    the pipeline. |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimltflite.html) | <ol class="ol" id="multistream-batch-inference__ol_l2x_zjq_nbc"><br>                                    <li class="li">After the inference runtime receives the tensor stream on<br>                                        its sink pad, it runs the inference.</li><br><br>                                    <li class="li">Produces a tensor stream with the inference results on its<br>                                        source pad.</li><br><br>                                </ol> |
| qtimldemux | <ol class="ol" id="multistream-batch-inference__ol_sg2_kdq_rcc"><br>                                    <li class="li">Demultiplexes the batched output.</li><br><br>                                    <li class="li">Splits the output corresponding to the input streams. </li><br><br>                                </ol> |
| Postprocessing plugins | qtimlpostprocess converts the inference tensors that are received<br>                                on the sink pad into video formats the multimedia plugins can use<br>                                for further processing. |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50/topic/qtivcomposer.html) | <ol class="ol" id="multistream-batch-inference__ol_dmb_2vr_lbc"><br>                                    <li class="li">Composes frames with contents from its sink pads.</li><br><br>                                    <li class="li">Pushes the GStreamer buffers containing these composed<br>                                        frames to its source pad.</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | <ol class="ol" id="multistream-batch-inference__ol_kjr_fvr_lbc"><br>                                    <li class="li">Waylandsink submits the video stream received on its sink<br>                                        pad to Weston.</li><br><br>                                    <li class="li">Weston renders the video stream on a local display.</li><br><br>                                </ol> |
| Filesink | Takes the video stream that it receives on its sink pad and saves<br>                                it as a H.264-encoded MP4 file. |

## Config JSON field description

The different parameters available to configure the JSON file and run the use case
                are as follows:

Table : Field description–gst-ai-multistream-batch-inference file

| Field | Values/description |
| --- | --- |
| **output type** | Use one of the following output types:<br><ul class="ul" id="multistream-batch-inference__ul_d1v_4tn_q2c"><br>                                    <li class="li"><code class="ph codeph">Wayland</code>:Displays output on Weston.</li><br><br>                                    <li class="li"><code class="ph codeph">filesink</code>: Encodes the output in a video<br>                                        file.</li><br><br>                                </ul> |
| **out-file** | The file path to save the output file. |
| **pipeline -info** | Provides the pipeline information:<br><ul class="ul" id="multistream-batch-inference__ul_g1v_4tn_q2c"><br>                                    <li class="li"><code class="ph codeph">Stream id</code>: Ranges from 0 to 5.</li><br><br>                                    <li class="li"><code class="ph codeph">Input-type</code>: The input source file. </li><br><br>                                    <li class="li"><code class="ph codeph">Input-file-path</code>: The array of the input<br>                                        file path.</li><br><br>                                </ul> |
| **mlframework** | Takes `tflite`, `qnn`, or<br>                                    `snpe`. |
| **model-path** | The path to the model file. |
| **labels-path** | The path to the labels file. |

## Known issues

- A drop in FPS is observed with batch size 4 models.
- Segmentation fault is observed on IQ8275 and IQ9075 using 8 stream.

## Related information

- [Object detection](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-ai-object-detection.html)
- [Image segmentation](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-ai-segmentation.html)

**Parent Topic:** [Run AI/ML sample applications](https://docs.qualcomm.com/doc/80-70022-50/topic/ai-ml-sample-applications.html)

Last Published: Feb 20, 2026

[Previous Topic
Multistream inference](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/multistream-inference.md) [Next Topic
AI smart codec](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/ai-smart-codec.md)