# Monodepth from video

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/mono-depth-from-video.html](https://docs.qualcomm.com/doc/80-70022-50/topic/mono-depth-from-video.html)

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](https://docs.qualcomm.com/doc/80-70022-50/topic/mono-depth-from-video.html#mono-depth-from-video__section_w3l_s1t_pbc).

Figure :  gst-ai-monodepth pipeline
            
            <!--?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">
  <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>

## Sample model and label files

| Runtime | Model files | Label files |
| --- | --- | --- |
| Qualcomm Neural Processing SDK | <var class="keyword varname">midasv2.dlc</var> | <var class="keyword varname">monodepth.json</var> |
| LiteRT | <var class="keyword varname">midas_quantized.tflite</var> | <var class="keyword varname">monodepth.json</var> |
| Qualcomm AI Engine direct | <var class="keyword varname">midas_quantized.bin</var> | <var class="keyword varname">monodepth.json</var> |
|  |  |  |
|  |  |  |

## 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](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/mono-depth-from-video.html#mono-depth-from-video__section_xhk_l4r_32c).
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

    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
4. Run the gst-ai-monodepth
                    application:

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

        gst-ai-monodepth -hCopy 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.

Figure : Expected output for gst-ai-monodepth application
                
                ![](data:image/png;base64,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)

## 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-70022-50/topic/qtiqmmfsrc.html) | <ul class="ul" id="mono-depth-from-video__ul_zyl_gj1_mcc"><br>                                    <li class="li">Captures the live stream from camera.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| File source: filesrc | <ul class="ul" id="mono-depth-from-video__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> |
| RTSP source: rtspsrc | <ul class="ul" id="mono-depth-from-video__ul_vsj_2r4_tbc"><br>                                    <li class="li">Captures the RTSP stream using rtspsrc, followed by<br>                                        rtph264depay for video extraction.</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. |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlvconverter.html) | Used by AI processing stream for preprocessing:<ol class="ol" id="mono-depth-from-video__ol_j34_ddg_q1c"><br>                                    <li class="li">Receives the video stream 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="mono-depth-from-video__ol_m5z_cpr_lbc"><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>                                    <li class="li">Converts the preprocessed video stream to a tensor stream on<br>                                        its source pad.</li><br><br>                                </ol><br><br>The tensor stream is used for inferencing in the later<br>                                    stages of the pipeline. |
| Inferencing plugins: [qtimlsnpe](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlsnpe.html), [qtimltflite](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimltflite.html), and [qtimlqnn](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlqnn.html) | Uses the Midasv2 model for monodepth.<ol class="ol" id="mono-depth-from-video__ol_pyh_4jh_4dc"><br>                                    <li class="li">The inference runtime receives the tensor stream on its sink<br>                                        pad.</li><br><br>                                    <li class="li">The runtime 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><br>The postprocessing plugin for processing the inference comes<br>                                from the Midasv2 model. |
| qtimlpostprocess | Converts the inference tensors that it receives on its sink pad<br>                                into video formats that the multimedia plugins can use for further<br>                                processing. |
| [qtivtransform](https://docs.qualcomm.com/doc/80-70022-50/topic/qtivtransform.html) | Converts the buffers on its source pad. These buffers are for<br>                                composition on Waylandsink. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | <ol class="ol" id="mono-depth-from-video__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> |

## 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:<ul class="ul" id="mono-depth-from-video__ul_prm_gck_32c"><br>                                    <li class="li"><code class="ph codeph">snpe</code>: Qualcomm Neural Processing SDK.</li><br><br>                                    <li class="li"><code class="ph codeph">tflite</code>: LiteRT.</li><br><br>                                    <li class="li"><code class="ph codeph">qnn</code>: Qualcomm AI Engine direct.</li><br><br>                                </ul> |
| **runtime** | Enable and use one of the following runtimes:<ul class="ul" id="mono-depth-from-video__ul_mry_nck_32c"><br>                                    <li class="li"><code class="ph codeph">cpu</code></li><br><br>                                    <li class="li"><code class="ph codeph">gpu</code></li><br><br>                                    <li class="li"><code class="ph codeph">dsp</code></li><br><br>                                </ul> |
| **Input source** | Enable and use one of the following input sources:<ul class="ul" id="mono-depth-from-video__ul_xym_rck_32c"><br>                                    <li class="li"><code class="ph codeph">camera</code>: Primary (0) or secondary (1).</li><br><br>                                    <li class="li"><code class="ph codeph">file-path</code>: The directory path to the video<br>                                        file.</li><br><br>                                    <li class="li"><code class="ph codeph">rtsp-ip-port</code>: The address of the RTSP<br>                                        stream:<br>                                                <u class="ph u"><var class="keyword varname">rtsp://&lt;ip&gt;:&lt;port&gt;/&lt;stream&gt;</var></u>.</li><br><br>                                </ul> |

## Related information

[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
Daisy chain detection and pose estimation](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/daisy-chain-detection-and-pose-detection.md) [Next Topic
Video super-resolution](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/video-super-resolution.md)