# Monodepth from video

The **gst-ai-monodepth** application allows you to infer depth of a source feed from a live camera stream, file, or an RTSP stream.

The following figure shows the pipeline, which captures feed from the source, preprocesses it, and runs inferences using the AI hardware. For information about the plugins used in the pipeline, see Pipeline flow.

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1256.043670654296875" height="462" viewbox="0 0 1256.043670654296875 462" aria-label="../../_images/gst_ai_monodepth_pipeline.svg">
  <g id="Layer_2" data-name="Layer 2">
    <g>
      <rect x=".499725341796875" y=".5" width="1255.04443359375" height="461" rx="7.499999999999946" ry="7.499999999999946" style="fill: #fafafa;"></rect>
      <path d="M1248.043670654296875,1c3.85986328125,0,7,3.140167236328125,7,7v446c0,3.85986328125-3.14013671875,7-7,7H8c-3.85986328125,0-7-3.14013671875-7-7V8c0-3.859832763671875,3.14013671875-7,7-7h1240.043670654296875M1248.043670654296875,0H8C3.581695556640625,0,0,3.581695556640625,0,8v446c0,4.4183349609375,3.581695556640625,8,8,8h1240.043670654296875c4.4183349609375,0,8-3.5816650390625,8-8V8c0-4.418304443359375-3.5816650390625-8-8-8h0Z" style="fill: #d2d7e1;"></path>
    </g>
    <g>
      <g>
        <text transform="translate(1058.088897705078125 442.27972412109375)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="1037.837900275670108" y="430.188232421875" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(1156.670684814453125 442.27972412109375)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
        <rect x="1136.419681688523269" y="430.188232421875" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
    <text transform="translate(21.328704833984375 30.18475341796875)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0">File (default)</tspan></text>
    <text transform="translate(18.136505126953125 175.01812744140625)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0">Camera (optional)</tspan></text>
    <text transform="translate(18.136627197265625 318.883056640625)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0">RTSP (optional)</tspan></text>
    <g>
      <line x1="18.136505126953125" y1="143" x2="22.136505126953125" y2="143" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <line x1="26.134674072265625" y1="143" x2="1067.651563997023914" y2="143" style="fill: none; stroke: #000; stroke-dasharray: 7.996291160583496 3.998145580291748; stroke-miterlimit: 10;"></line>
      <line x1="1069.650665283203125" y1="143" x2="1073.650665283203125" y2="143" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    </g>
    <g>
      <line x1="18.136505126953125" y1="285.80023193359375" x2="22.136505126953125" y2="285.80023193359375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <line x1="26.134674072265625" y1="285.80023193359375" x2="1067.651563997023914" y2="285.80023193359375" style="fill: none; stroke: #000; stroke-dasharray: 7.996291160583496 3.998145580291748; stroke-miterlimit: 10;"></line>
      <line x1="1069.650665283203125" y1="285.80023193359375" x2="1073.650665283203125" y2="285.80023193359375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    </g>
  </g>
  <g id="Layer_3" data-name="Layer 3">
    <rect x="70.582357124725604" y="330.188257401390729" width="89" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="159.582351684570312" y1="370.188232421875" x2="172.225555419921875" y2="370.188232421875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="171.058364868164062 374.17730712890625 177.966537475585938 370.188232421875 171.058364868164062 366.19921875 171.058364868164062 374.17730712890625"></polygon>
    </g>
    <line x1="57.913394425622755" y1="370.188257401390729" x2="70.582357124725604" y2="370.188257401390729" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="178.035833614580952" y="330.188257401390729" width="75" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="253.03582763671875" y1="370.188232421875" x2="265.679031372070312" y2="370.188232421875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="264.5118408203125 374.17730712890625 271.420013427733466 370.188232421875 264.5118408203125 366.19921875 264.5118408203125 374.17730712890625"></polygon>
    </g>
    <rect x="271.489310104436299" y="330.188257401390729" width="85" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="356.489311218261719" y1="370.188232421875" x2="369.132503509521484" y2="370.188232421875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="367.965312957763672 374.17730712890625 374.87348747253418 370.188232421875 367.965312957763672 366.19921875 367.965312957763672 374.17730712890625"></polygon>
    </g>
    <rect x="374.942786594292556" y="330.188257401390729" width="95" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="469.942787170410156" y1="370.188232421875" x2="482.585983276367188" y2="370.188232421875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="481.418785095214844 374.17730712890625 488.32696533203125 370.188232421875 481.418785095214844 366.19921875 481.418785095214844 374.17730712890625"></polygon>
    </g>
    <g>
      <line x1="1017.701690673828125" y1="381.1871337890625" x2="1067.344879150390625" y2="381.1871337890625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1066.177703857421875 385.1761474609375 1073.085845947265625 381.1871337890625 1066.177703857421875 377.19805908203125 1066.177703857421875 385.1761474609375"></polygon>
    </g>
    <rect x="1073.650642103233622" y="30.637402071452016" width="100" height="380.549707402882632" rx="7.999999999999981" ry="7.999999999999981" style="fill: #007884;"></rect>
    <line x1="1173.650642103233622" y1="220.912255772893332" x2="1192.034819963924747" y2="220.912255772893332" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <text transform="translate(91.515289306640625 374.27978515625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">rtspsrc </tspan></text>
    <text transform="translate(189.573089599609375 365.8795166015625)" 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(280.920669555664062 374.2794189453125)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
    <text transform="translate(381.461166381835938 374.27978515625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
    <text transform="translate(1084.285736083984375 225.00384521484375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Waylandsink</tspan></text>
    <text transform="translate(1027.471221923828125 371.638427734375)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
    <g>
      <line x1="469.942787170410156" y1="341.18939208984375" x2="1067.344879150390625" y2="341.18939208984375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1066.177703857421875 345.178466796875 1073.085845947265625 341.18939208984375 1066.177703857421875 337.2003173828125 1066.177703857421875 345.178466796875"></polygon>
    </g>
    <text transform="translate(1027.471405029296875 333.510009765625)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
    <g>
      <g>
        <rect x="1193.161130731028607" y="202.012255772893695" width="42" height="29.400000000003274" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
        <line x1="1205.761130731023513" y1="239.812255772892968" x2="1222.561130731020967" y2="239.812255772892968" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
      </g>
      <line x1="1214.161130731028607" y1="231.41225577289697" x2="1214.161130731028607" y2="239.812255772892968" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
    </g>
    <g>
      <path d="M35.41703089006478,362.538257401387455c.001393890381223-.745582866666155.606937980652219-1.348867893218994,1.352521705628533-1.347474002834133.248203468321663.000463485717773.491475105285645.069345188137959.703078651427859.199073982235859l6.595199203491575,4.048200130462646c.635238075255984.390344238281614.833762741087412,1.221743202209836.443418502806708,1.85698127746582-.110953330992743.180562019348145-.262856483458563.332465171813965-.443418502806708.443418502807617l-6.595199203491575,4.05000000000291c-.635638046266649.389691925047373-1.466832733154661.190314102170305-1.856524658203853-.445323944091797-.130368232727051-.212645530700684-.199274826049077-.457250976563955-.199075698852539-.706676673891707v-8.098199272157217Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <path d="M30.017030890065143,386.388257401391456h18" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      <rect x="21.017030890065143" y="353.988257401390001" width="36" height="25.199999999998909" rx="2" ry="2" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
    </g>
    <g>
      <line x1="469.942787170410156" y1="89.637377743871184" x2="482.585983276367188" y2="89.637377743871184" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="481.418785095214844 93.626452450902434 488.32696533203125 89.637377743871184 481.418785095214844 85.648364071996184 481.418785095214844 93.626452450902434"></polygon>
    </g>
    <g>
      <line x1="469.942787170410156" y1="51.273122813407099" x2="1067.344879150390625" y2="51.273122813407099" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1066.177703857421875 55.262136485282099 1073.085845947265625 51.273122813407099 1066.177703857421875 47.284048106375849 1066.177703857421875 55.262136485282099"></polygon>
    </g>
    <rect x="488.3269644549855" y="59.637402071452016" width="120.000000000007276" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="608.32696533203125" y1="89.63739013671875" x2="620.97015380859375" y2="89.63739013671875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="619.802963256835938 93.62646484375 626.711135864257812 89.63739013671875 619.802963256835938 85.6483154296875 619.802963256835938 93.62646484375"></polygon>
    </g>
    <rect x="626.780440944845395" y="59.637402071452016" width="110.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="736.780426025390625" y1="89.63739013671875" x2="749.42364501953125" y2="89.63739013671875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="748.256439208984375 93.62646484375 755.16461181640625 89.63739013671875 748.256439208984375 85.6483154296875 748.256439208984375 93.62646484375"></polygon>
    </g>
    <rect x="755.164618805540158" y="59.637402071452016" width="140" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <g>
      <line x1="1017.701690673828125" y1="89.63739013671875" x2="1067.344879150390625" y2="89.63739013671875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1066.177703857421875 93.62646484375 1073.085845947265625 89.63739013671875 1066.177703857421875 85.6483154296875 1066.177703857421875 93.62646484375"></polygon>
    </g>
    <text transform="translate(499.788406372070312 93.728271484375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
    <text transform="translate(648.988189697265625 76.9283447265625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-2.73095703125" y="16.7998046875">qtimlsnpe/ </tspan><tspan x="3.55810546875" y="33.60009765625">qtimlqnn </tspan></text>
    <text transform="translate(770.672119140625 93.72845458984375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
    <g>
      <line x1="895.215545654296875" y1="89.63739013671875" x2="907.858734130859375" y2="89.63739013671875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="906.6915283203125 93.62646484375 913.5997314453125 89.63739013671875 906.6915283203125 85.6483154296875 906.6915283203125 93.62646484375"></polygon>
    </g>
    <rect x="914.213634135036045" y="59.637402071452016" width="109.510695890017814" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <text transform="translate(926.753204345703125 93.728271484375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtivtransform</tspan></text>
    <g>
      <rect x="488.3269644549855" y="350.105953633890749" width="120.000000000007276" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="608.32696533203125" y1="380.10595703125" x2="620.97015380859375" y2="380.10595703125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="619.802963256835938 384.09503173828125 626.711135864257812 380.10595703125 619.802963256835938 376.11688232421875 619.802963256835938 384.09503173828125"></polygon>
      </g>
      <rect x="626.780440944845395" y="350.105953633890749" width="110.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="736.780426025390625" y1="380.10595703125" x2="749.42364501953125" y2="380.10595703125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="748.256439208984375 384.09503173828125 755.16461181640625 380.10595703125 748.256439208984375 376.11688232421875 748.256439208984375 384.09503173828125"></polygon>
      </g>
      <rect x="755.164618805540158" y="350.105953633890749" width="140" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(499.788406372070312 384.1968994140625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
      <text transform="translate(648.988189697265625 367.39697265625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-2.73095703125" y="16.7998046875">qtimlsnpe/ </tspan><tspan x="3.55810546875" y="33.60009765625">qtimlqnn </tspan></text>
      <text transform="translate(770.671600341796875 384.1968994140625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
      <g>
        <line x1="895.215545654296875" y1="380.10595703125" x2="907.858734130859375" y2="380.10595703125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="906.6915283203125 384.09503173828125 913.5997314453125 380.10595703125 906.6915283203125 376.11688232421875 906.6915283203125 384.09503173828125"></polygon>
      </g>
      <rect x="914.213634135036045" y="350.105953633890749" width="109.510695890017814" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <text transform="translate(926.753204345703125 384.1968994140625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtivtransform</tspan></text>
    </g>
    <text transform="translate(1027.471221923828125 83.060302734375)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
    <g>
      <g>
        <line x1="1017.701690673828125" y1="241.4122314453125" x2="1067.344879150390625" y2="241.4122314453125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1066.177703857421875 245.40130615234375 1073.085845947265625 241.4122314453125 1066.177703857421875 237.4232177734375 1066.177703857421875 245.40130615234375"></polygon>
      </g>
      <text transform="translate(1027.471221923828125 231.86358642578125)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_1</tspan></text>
      <text transform="translate(1027.471405029296875 193.88946533203125)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
      <g>
        <rect x="488.3269644549855" y="211.412255772893332" width="120.000000000007276" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="608.32696533203125" y1="241.4122314453125" x2="620.97015380859375" y2="241.4122314453125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="619.802963256835938 245.40130615234375 626.711135864257812 241.4122314453125 619.802963256835938 237.4232177734375 619.802963256835938 245.40130615234375"></polygon>
        </g>
        <rect x="626.780440944845395" y="211.412255772893332" width="110.000000000003638" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <g>
          <line x1="736.780426025390625" y1="241.4122314453125" x2="749.42364501953125" y2="241.4122314453125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="748.256439208984375 245.40130615234375 755.16461181640625 241.4122314453125 748.256439208984375 237.4232177734375 748.256439208984375 245.40130615234375"></polygon>
        </g>
        <rect x="755.164618805540158" y="211.412255772893332" width="140" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(499.788406372070312 245.50311279296875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
        <text transform="translate(648.988189697265625 228.70318603515625)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimltflite/</tspan><tspan x="-2.73095703125" y="16.7998046875">qtimlsnpe/ </tspan><tspan x="3.55810546875" y="33.60009765625">qtimlqnn </tspan></text>
        <text transform="translate(770.671600341796875 245.50311279296875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtimlpostprocess</tspan></text>
        <g>
          <line x1="895.215545654296875" y1="241.4122314453125" x2="907.858734130859375" y2="241.4122314453125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="906.6915283203125 245.40130615234375 913.5997314453125 241.4122314453125 906.6915283203125 237.4232177734375 906.6915283203125 245.40130615234375"></polygon>
        </g>
        <rect x="914.213634135036045" y="211.412255772893332" width="109.510695890017814" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
        <text transform="translate(926.753204345703125 245.50311279296875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtivtransform</tspan></text>
      </g>
      <g>
        <path d="M43.517030890065143,207.748066522448426h-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.017030890065143" cy="222.148066522449881" r="5.400000000001455" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></circle>
      </g>
      <rect x="70.582357124725604" y="186.148066522449881" width="89" height="76" rx="4" ry="4" style="fill: #2a2aea;"></rect>
      <g>
        <line x1="159.582351684570312" y1="242.0787353515625" x2="482.585983276367188" y2="242.0787353515625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="481.418785095214844 246.06781005859375 488.32696533203125 242.0787353515625 481.418785095214844 238.08966064453125 481.418785095214844 246.06781005859375"></polygon>
      </g>
      <line x1="57.913394425622755" y1="224.148066522449881" x2="70.582357124725604" y2="224.148066522449881" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <text transform="translate(78.797027587890625 227.669921875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtiqmmfsrc</tspan></text>
      <g>
        <line x1="159.582351684570312" y1="201.02166748046875" x2="1067.909637451171875" y2="201.02166748046875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1066.742462158203125 205.0107421875 1073.650665283203125 201.02166748046875 1066.742462158203125 197.0325927734375 1066.742462158203125 205.0107421875"></polygon>
      </g>
    </g>
    <text transform="translate(1027.471588134765625 43.65228271484375)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">sink_0</tspan></text>
    <rect x="70.582357124725604" y="43.060302734375" width="89" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <path d="M45.767030890065143,60.560302734375h-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.517030890065143,60.560302734375v9c0,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.517030890065143,80.810302734375l11.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>
      <line x1="159.582351684570312" y1="83.060278406794168" x2="172.225555419921875" y2="83.060278406794168" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="171.058364868164062 87.049353113825418 177.966537475585938 83.060278406794168 171.058364868164062 79.071264734919168 171.058364868164062 87.049353113825418"></polygon>
    </g>
    <line x1="57.913394425622755" y1="83.060302734375" x2="70.582357124725604" y2="83.060302734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <rect x="178.035833614580952" y="43.060302734375" width="75" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="253.03582763671875" y1="83.060278406794168" x2="265.679031372070312" y2="83.060278406794168" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="264.5118408203125 87.049353113825418 271.420013427733466 83.060278406794168 264.5118408203125 79.071264734919168 264.5118408203125 87.049353113825418"></polygon>
    </g>
    <rect x="271.489310104436299" y="43.060302734375" width="85" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <g>
      <line x1="356.489311218261719" y1="83.060278406794168" x2="369.132503509521484" y2="83.060278406794168" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="367.965312957763672 87.049353113825418 374.87348747253418 83.060278406794168 367.965312957763672 79.071264734919168 367.965312957763672 87.049353113825418"></polygon>
    </g>
    <rect x="374.942786594292556" y="43.060302734375" width="95" height="80" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(95.903961181640625 87.151611328125)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">filesrc</tspan></text>
    <text transform="translate(188.150909423828125 87.15185546875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtdemux</tspan></text>
    <text transform="translate(280.920669555664062 87.1517333984375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">h264parse</tspan></text>
    <text transform="translate(381.461166381835938 87.15155029296875)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4l2h264dec</tspan></text>
  </g>
</svg>

**Figure : gst-ai-monodepth pipeline**

## Input and output capabilities

The following table summarizes the input and output capabilities supported by the sample application:

Table : Supported input and output formats

| Config | Input | Input | Input | Input | Output | Output | Output |
| --- | --- | --- | --- | --- | --- | --- | --- |
| File src | RTSP | USB camera | MIPI camera | File | Display | RTSP |
| Config #1 | Yes | Yes | No | No | No | Yes | No |
| Config #2 | Yes | Yes | No | Yes | No | Yes | No |

## Sample model and label files

Table : Sample model and label files for gst-ai-monodepth

| Runtime | Model files | Label files |
| --- | --- | --- |
| Qualcomm Neural Processing SDK | *midasv2.dlc* | *monodepth.json* |
| LiteRT | *midas\_quantized.tflite* |
| Qualcomm AI Engine direct | *midas\_quantized.bin* |

## Run the application on the target device

The sample application uses the `/etc/configs/config_monodepth.json` file to read the input parameters.

To create your own config JSON file, use [config_monodepth.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-monodepth/config_monodepth.json?ref_type=heads) as a reference.

1. Ensure that you complete the Prerequisites.
2. Update the config JSON file based on the model, input stream, and other properties. For more information, see Config JSON field description.
3. Use the following format of the `config_monodepth.json` file:

{
          "file-path": "<input video path>",
          "ml-framework": "<snpe, tflite, or qnn framework>",
          "model": "<path-to-model-file>",
          "labels": "<path-to-label-file>",
          "runtime": "<dsp, gpu, or cpu runtime>"
        }
        Copy to clipboard

    An example format file for Config #2 and Config #1 is as follows:

<button aria-controls="panel-0-0-0" aria-selected="true" class="sphinx-tabs-tab" id="tab-0-0-0" name="0-0" role="tab" tabindex="0">Config #2</button><button aria-controls="panel-0-0-1" aria-selected="false" class="sphinx-tabs-tab" id="tab-0-0-1" name="0-1" role="tab" tabindex="-1">Config #1</button>

For example, run the application using the LiteRT model and DSP runtime, with input from a video file, and custom model and label paths:

{
            "file-path": "/etc/media/video.mp4",
            "ml-framework": "tflite",
            "model": "/etc/models/midas_quantized.tflite",
            "labels": "/etc/labels/monodepth.json",
            "runtime": "dsp"
          }
        Copy to clipboard

For example, run the application using the LiteRT model and CPU runtime, with input from a video file, and custom model and label paths:

{
            "file-path": "/etc/media/video.mp4",
            "ml-framework": "tflite",
            "model": "/etc/models/midas_quantized.tflite",
            "labels": "/etc/labels/monodepth.json",
            "runtime": "cpu"
          }
        Copy to clipboard

Note

Config #1 supports only LiteRT models and the CPU runtime.
4. Run the gst-ai-monodepth application:

gst-ai-monodepth --config-file=/etc/configs/config_monodepth.json
        Copy to clipboard
5. To display the available help options, run the following command in the SSH shell:

gst-ai-monodepth -h
        Copy to clipboard
6. To stop the use case, use **CTRL + C**.

## Expected output

The overlaid model output stream is shown side by side with the live feed.

![../../_images/gst-ai-monodepth-expected-output.png](data:image/png;base64,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)

**Figure : Expected output for gst-ai-monodepth application**

## Pipeline flow

The following table lists the plugins used in the mono depth pipeline:

| 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) | Used by AI processing stream for preprocessing:<br><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 preprocessing 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><li><p>Converts the preprocessed video stream to a tensor stream on its source pad.</p></li><br></ol><br><br>The tensor stream is used for inferencing in the later stages of the pipeline. |
| Inferencing plugins: [qtimlsnpe](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlsnpe.html), [qtimltflite](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimltflite.html), and [qtimlqnn](https://docs.qualcomm.com/doc/80-80022-50/topic/qtimlqnn.html) | Uses the Midasv2 model for monodepth.<br><ol class="arabic simple"><br><li><p>The inference runtime receives the tensor stream on its sink pad.</p></li><br><li><p>The runtime runs the inference.</p></li><br><li><p>Produces a tensor stream with the inference results on its source pad.</p></li><br></ol><br><br>The postprocessing plugin for processing the inference comes from the Midasv2 model. |
| [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 use for further processing. |
| [qtivtransform](https://docs.qualcomm.com/doc/80-80022-50/topic/qtivtransform.html) | Converts the buffers on its source pad. These buffers are for composition on Waylandsink. |
| [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 Weston.</p></li><br><li><p>Weston renders the video stream on a local display.</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_monodepth.json file

| Field | Values/description |
| --- | --- |
| **ml-framework** | Enable and use one of the following models:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">snpe</span></code>: Qualcomm Neural Processing SDK.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">tflite</span></code>: LiteRT.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">qnn</span></code>: Qualcomm AI Engine direct.</p></li><br></ul> |
| **runtime** | Enable and use one of the following runtimes:<br><ul class="simple"><br><li><p><code class="docutils literal notranslate"><span class="pre">cpu</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">gpu</span></code></p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">dsp</span></code></p></li><br></ul> |
| **Input source** | Enable and use one of the following input sources:<br><ul class="simple"><br><li><p>camera: Primary (0) or secondary (1).</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">file-path</span></code>: The directory path to the video file.</p></li><br><li><p><code class="docutils literal notranslate"><span class="pre">rtsp-ip-port</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> |

## Related information

Image segmentation

Last Published: May 17, 2026

Previous Topic
 
Daisy chain detection and pose estimation Next Topic

Video super-resolution