# 使用 RTSP 流进行解码和目标检测

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/rts-decode-ai-detection-yolo-v8-overlay-display.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/rts-decode-ai-detection-yolo-v8-overlay-display.html)

**gst-rtspsrc-detection-display.py** 脚本接收 RTSP 流作为源，对其进行解码，使用 [YOLOv8](https://github.com/ultralytics/ultralytics) LiteRT 模型从摄像头流中识别场景中的目标，并将边界框覆盖在检测到的目标上。结果显示在显示器上。

Figure : 使用 RTSP 流进行解码和目标检测的 pipeline – 预览
            
            <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export pipeline_decode_and_object_detection_using_RTSPstream.svg pipeline_decode_and_object_dete -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="13.5105in" height="3.1534in" viewbox="0 0 972.753 227.045" xml:space="preserve" color-interpolation-filters="sRGB" class="st14"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st3 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: #ffffff; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st5 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st6 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st7 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st8 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st9 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st10 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st11 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st12 { fill: none }
.svg-1 .st13 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-1 .st14 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>pipeline_decode_and_object_dete</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape3-1" v:mid="3" v:groupcontext="shape" transform="translate(0.375023,-0.375092)">		<title>Sheet.3</title>		<path d="M0 221.42 A5.62513 5.62513 -180 0 0 5.63 227.04 L966.38 227.04 A5.62513 5.62513 -180 0 0 972 221.42 L972 6.37					 A5.62513 5.62513 -180 0 0 966.38 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 0 6.37 L0 221.42 Z" class="st1"></path>	</g>	<g id="shape4-3" v:mid="4" v:groupcontext="shape">		<title>Sheet.4</title>		<path d="M966.75 0.75 C969.65 0.75 972 3.11 972 6 L972 221.04 C972 223.94 969.65 226.29 966.75 226.29 L6 226.29 C3.11					 226.29 0.75 223.94 0.75 221.04 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L966.75 0.75 ZM966.75 0 L6 0 C2.69 0					 0 2.69 0 6 L0 221.04 C0 224.36 2.69 227.04 6 227.04 L966.75 227.04 C970.07 227.04 972.75 224.36 972.75 221.04					 L972.75 6 C972.75 2.69 970.07 0 966.75 0 Z" class="st2"></path>	</g>	<g id="shape13-5" v:mid="13" v:groupcontext="shape" transform="translate(52.9137,-148.671)">		<title>Sheet.13</title>		<desc>rtspsrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.375" cy="197.045" width="66.76" height="60"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L63.75 227.04 A3.00007 3.00007 -180 0 0 66.75 224.04 L66.75 170.04					 A3.00007 3.00007 -180 0 0 63.75 167.04 L3 167.04 A3.00007 3.00007 -180 0 0 -0 170.04 L0 224.04 Z" class="st3"></path>		<text x="17" y="200.64" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>rtspsrc</text>		</g>	<g id="shape15-8" v:mid="15" v:groupcontext="shape" transform="translate(119.664,-178.671)">		<title>Sheet.15</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape16-11" v:mid="16" v:groupcontext="shape" transform="translate(128.271,-175.679)">		<title>Sheet.16</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape17-13" v:mid="17" v:groupcontext="shape" transform="translate(43.412,-178.671)">		<title>Sheet.17</title>		<path d="M0 227.04 L9.5 227.04" class="st5"></path>	</g>	<g id="shape18-16" v:mid="18" v:groupcontext="shape" transform="translate(133.504,-148.671)">		<title>Sheet.18</title>		<desc>rtph264depay</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="39.375" cy="197.045" width="78.75" height="60"></v:textrect>		<path d="M-0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L75.75 227.04 A3.00007 3.00007 -180 0 0 78.75 224.04 L78.75 170.04					 A3.00007 3.00007 -180 0 0 75.75 167.04 L3 167.04 A3.00007 3.00007 -180 0 0 -0 170.04 L0 224.04 Z" class="st3"></path>		<text x="7.18" y="200.64" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>rtph264depay</text>		</g>	<g id="shape20-19" v:mid="20" v:groupcontext="shape" transform="translate(212.254,-178.671)">		<title>Sheet.20</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape21-22" v:mid="21" v:groupcontext="shape" transform="translate(220.861,-175.679)">		<title>Sheet.21</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape22-24" v:mid="22" v:groupcontext="shape" transform="translate(226.094,-148.671)">		<title>Sheet.22</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.875" cy="197.045" width="63.76" height="60"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L60.75 227.04 A3.00007 3.00007 -180 0 0 63.75 224.04 L63.75 170.04					 A3.00007 3.00007 -180 0 0 60.75 167.04 L3 167.04 A3.00007 3.00007 -180 0 0 0 170.04 L0 224.04 Z" class="st3"></path>		<text x="7.07" y="200.64" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="shape24-27" v:mid="24" v:groupcontext="shape" transform="translate(289.844,-178.671)">		<title>Sheet.24</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape25-30" v:mid="25" v:groupcontext="shape" transform="translate(298.451,-175.679)">		<title>Sheet.25</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape26-32" v:mid="26" v:groupcontext="shape" transform="translate(303.684,-148.671)">		<title>Sheet.26</title>		<desc>V4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="197.045" width="71.25" height="60"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L68.25 227.04 A3.00007 3.00007 -180 0 0 71.25 224.04 L71.25 170.04					 A3.00007 3.00007 -180 0 0 68.25 167.04 L3 167.04 A3.00007 3.00007 -180 0 0 -0 170.04 L0 224.04 Z" class="st3"></path>		<text x="4.89" y="200.64" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>V4l2h264dec</text>		</g>	<g id="shape28-35" v:mid="28" v:groupcontext="shape" transform="translate(374.934,-178.671)">		<title>Sheet.28</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape29-38" v:mid="29" v:groupcontext="shape" transform="translate(383.541,-175.679)">		<title>Sheet.29</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape30-40" v:mid="30" v:groupcontext="shape" transform="translate(882.753,-148.733)">		<title>Sheet.30</title>		<desc>qtivoverlay</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="37.5" cy="197.076" width="75" height="59.9383"></v:textrect>		<path d="M6 167.11 L69 167.11 C72.31 167.11 75 169.79 75 173.11 L75 221.86 C75 224.72 72.67 227.04 69.81 227.04 L6 227.04					 C2.69 227.04 0 224.36 0 221.04 L0 173.11 C0 169.79 2.69 167.11 6 167.11 Z" class="st7"></path>		<text x="12.28" y="200.68" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivoverlay</text>		</g>	<g id="shape31-43" v:mid="31" v:groupcontext="shape" transform="translate(882.753,-86.8172)">		<title>Sheet.31</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="37.5" cy="208.295" width="75" height="37.5"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L72 227.04 A3.00007 3.00007 -180 0 0 75 224.04 L75 192.54 A3.00007					 3.00007 -180 0 0 72 189.54 L3 189.54 A3.00007 3.00007 -180 0 0 -0 192.54 L0 224.04 Z" class="st3"></path>		<text x="7.98" y="211.89" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink  </text>		</g>	<g id="shape36-46" v:mid="36" v:groupcontext="shape" transform="translate(388.722,-148.671)">		<title>Sheet.36</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="35.625" cy="197.045" width="71.25" height="60"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L68.25 227.04 A3.00007 3.00007 -180 0 0 71.25 224.04 L71.25 170.04					 A3.00007 3.00007 -180 0 0 68.25 167.04 L3 167.04 A3.00007 3.00007 -180 0 0 -0 170.04 L0 224.04 Z" class="st3"></path>		<text x="28.35" y="200.64" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="shape38-49" v:mid="38" v:groupcontext="shape" transform="translate(459.972,-178.671)">		<title>Sheet.38</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape39-52" v:mid="39" v:groupcontext="shape" transform="translate(468.579,-175.679)">		<title>Sheet.39</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape41-54" v:mid="41" v:groupcontext="shape" transform="translate(1147.3,78.3122) rotate(90)">		<title>Sheet.41</title>		<path d="M0 227.04 L19.22 227.04" class="st5"></path>	</g>	<g id="shape42-57" v:mid="42" v:groupcontext="shape" transform="translate(917.261,-125.202)">		<title>Sheet.42</title>		<path d="M0 221.86 L2.99 227.04 L5.98 221.86 L0 221.86 Z" class="st6"></path>	</g>	<g id="shape43-59" v:mid="43" v:groupcontext="shape" transform="translate(1147.3,140.228) rotate(90)">		<title>Sheet.43</title>		<path d="M0 227.04 L15.63 227.04" class="st5"></path>	</g>	<g id="shape47-62" v:mid="47" v:groupcontext="shape" transform="translate(757.817,-172.994)">		<title>Sheet.47</title>		<desc>sink_1</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="220.745" width="63" height="12.6"></v:textrect>		<rect x="0" y="214.445" width="63" height="12.6" class="st8"></rect>		<text x="0" y="223.89" class="st9" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_1</text>		</g>	<g id="shape49-65" v:mid="49" v:groupcontext="shape" transform="translate(459.972,-200.42)">		<title>Sheet.49</title>		<path d="M0 227.04 L328.55 227.04" class="st5"></path>	</g>	<g id="shape50-68" v:mid="50" v:groupcontext="shape" transform="translate(787.651,-197.428)">		<title>Sheet.50</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape51-70" v:mid="51" v:groupcontext="shape" transform="translate(754.927,-201.378)">		<title>Sheet.51</title>		<desc>sink_0</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="31.5" cy="220.745" width="63" height="12.6"></v:textrect>		<rect x="0" y="214.445" width="63" height="12.6" class="st8"></rect>		<text x="0" y="223.89" class="st9" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>sink_0</text>		</g>	<g id="shape54-73" v:mid="54" v:groupcontext="shape" transform="translate(904.503,-49.1377)">		<title>Sheet.54</title>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L28.5 227.04 A3.00007 3.00007 -180 0 0 31.5 224.04 L31.5 207.99					 A3.00007 3.00007 -180 0 0 28.5 204.99 L3 204.99 A3.00007 3.00007 -180 0 0 0 207.99 L0 224.04 Z" class="st10"></path>	</g>	<g id="shape55-75" v:mid="55" v:groupcontext="shape" transform="translate(913.953,-42.8377)">		<title>Sheet.55</title>		<path d="M0 227.04 L12.6 227.04" class="st11"></path>	</g>	<g id="shape56-78" v:mid="56" v:groupcontext="shape" transform="translate(1147.3,177.907) rotate(90)">		<title>Sheet.56</title>		<path d="M0 227.04 L6.3 227.04" class="st11"></path>	</g>	<g id="shape57-81" v:mid="57" v:groupcontext="shape" transform="translate(473.76,-148.733)">		<title>Sheet.57</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="204.545" width="90.01" height="45"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L87 227.04 A3.00007 3.00007 -180 0 0 90 224.04 L90 185.04 A3.00007					 3.00007 -180 0 0 87 182.04 L3 182.04 A3.00007 3.00007 -180 0 0 0 185.04 L0 224.04 Z" class="st7"></path>		<text x="8.6" y="208.14" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="shape59-84" v:mid="59" v:groupcontext="shape" transform="translate(563.76,-171.233)">		<title>Sheet.59</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape60-87" v:mid="60" v:groupcontext="shape" transform="translate(572.367,-168.241)">		<title>Sheet.60</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape61-89" v:mid="61" v:groupcontext="shape" transform="translate(577.6,-148.733)">		<title>Sheet.61</title>		<desc>qtimltflite</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="204.545" width="67.51" height="45"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L64.5 227.04 A3.00007 3.00007 -180 0 0 67.5 224.04 L67.5 185.04					 A3.00007 3.00007 -180 0 0 64.5 182.04 L3 182.04 A3.00007 3.00007 -180 0 0 0 185.04 L0 224.04 Z" class="st7"></path>		<text x="11.32" y="208.14" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite</text>		</g>	<g id="shape63-92" v:mid="63" v:groupcontext="shape" transform="translate(645.1,-171.233)">		<title>Sheet.63</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape64-95" v:mid="64" v:groupcontext="shape" transform="translate(653.707,-168.241)">		<title>Sheet.64</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape65-97" v:mid="65" v:groupcontext="shape" transform="translate(658.889,-148.733)">		<title>Sheet.65</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="48" cy="204.545" width="96" height="45"></v:textrect>		<path d="M0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L93 227.04 A3.00007 3.00007 -180 0 0 96 224.04 L96 185.04 A3.00007					 3.00007 -180 0 0 93 182.04 L3 182.04 A3.00007 3.00007 -180 0 0 0 185.04 L0 224.04 Z" class="st7"></path>		<text x="7.13" y="208.14" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="shape70-100" v:mid="70" v:groupcontext="shape" transform="translate(754.927,-171.233)">		<title>Sheet.70</title>		<path d="M0 227.04 L33.6 227.04" class="st5"></path>	</g>	<g id="shape71-103" v:mid="71" v:groupcontext="shape" transform="translate(787.651,-168.241)">		<title>Sheet.71</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape73-105" v:mid="73" v:groupcontext="shape" transform="translate(868.965,-178.702)">		<title>Sheet.73</title>		<path d="M0 227.04 L9.48 227.04" class="st5"></path>	</g>	<g id="shape74-108" v:mid="74" v:groupcontext="shape" transform="translate(877.572,-175.71)">		<title>Sheet.74</title>		<path d="M0 227.04 L5.18 224.05 L0 221.06 L0 227.04 Z" class="st6"></path>	</g>	<g id="shape75-110" v:mid="75" v:groupcontext="shape" transform="translate(792.832,-148.733)">		<title>Sheet.75</title>		<desc>qtimetamux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="38.0665" cy="197.076" width="76.14" height="59.9383"></v:textrect>		<path d="M-0 224.04 A3.00007 3.00007 -180 0 0 3 227.04 L73.13 227.04 A3.00007 3.00007 -180 0 0 76.13 224.04 L76.13 170.11					 A3.00007 3.00007 -180 0 0 73.13 167.11 L3 167.11 A3.00007 3.00007 -180 0 0 -0 170.11 L0 224.04 Z" class="st7"></path>		<text x="10.04" y="200.68" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimetamux</text>		</g>	<g id="shape78-113" v:mid="78" v:groupcontext="shape" transform="translate(26.5395,-174.869)">		<title>Sheet.78</title>		<path d="M0 219.81 C0 219.26 0.46 218.8 1.01 218.8 C1.2 218.8 1.38 218.86 1.54 218.95 L6.49 221.99 C6.96 222.28 7.11					 222.91 6.82 223.38 C6.74 223.52 6.62 223.63 6.49 223.71 L1.54 226.75 C1.07 227.04 0.44 226.9 0.15 226.42					 C0.05 226.26 0 226.08 0 225.89 L0 219.81 Z" class="st10"></path>	</g>	<g id="shape79-115" v:mid="79" v:groupcontext="shape" transform="translate(22.4897,-164.211)">		<title>Sheet.79</title>		<path d="M0 227.04 L13.5 227.04 L0 227.04 Z" class="st12"></path>		<path d="M0 227.04 L13.5 227.04" class="st11"></path>	</g>	<g id="shape80-118" v:mid="80" v:groupcontext="shape" transform="translate(15.7397,-169.611)">		<title>Sheet.80</title>		<path d="M0 225.54 A1.50003 1.50003 -180 0 0 1.5 227.04 L25.5 227.04 A1.50003 1.50003 -180 0 0 27 225.54 L27 209.64 A1.50003					 1.50003 -180 0 0 25.5 208.14 L1.5 208.14 A1.50003 1.50003 -180 0 0 -0 209.64 L0 225.54 Z" class="st10"></path>	</g>	<g id="group81-120" transform="translate(847.628,-14.7814)" v:mid="81" v:groupcontext="group">		<title>Sheet.81</title>		<g id="shape7-121" v:mid="7" v:groupcontext="shape" transform="translate(15.1882,0)">			<title>Sheet.7</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="25.9821" cy="220.745" width="51.97" height="12.6"></v:textrect>			<rect x="0" y="214.445" width="51.9643" height="12.6" class="st8"></rect>			<text x="0" y="223.89" class="st9" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape8-124" v:mid="8" v:groupcontext="shape" transform="translate(6.29496E-14,-0.218596)">			<title>Sheet.8</title>			<path d="M0 225.54 A1.50003 1.50003 -180 0 0 1.5 227.04 L10.5 227.04 A1.50003 1.50003 -180 0 0 12 225.54 L12 216.54						 A1.50003 1.50003 -180 0 0 10.5 215.04 L1.5 215.04 A1.50003 1.50003 -180 0 0 -0 216.54 L0 225.54 Z" class="st7"></path>		</g>		<g id="shape10-126" v:mid="10" v:groupcontext="shape" transform="translate(89.1246,0)">			<title>Sheet.10</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="220.745" width="21.01" height="12.6"></v:textrect>			<rect x="0" y="214.445" width="21" height="12.6" class="st8"></rect>			<text x="0" y="224.24" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape11-129" v:mid="11" v:groupcontext="shape" transform="translate(73.9363,-0.218596)">			<title>Sheet.11</title>			<path d="M0 225.54 A1.50003 1.50003 -180 0 0 1.5 227.04 L10.5 227.04 A1.50003 1.50003 -180 0 0 12 225.54 L12 216.54						 A1.50003 1.50003 -180 0 0 10.5 215.04 L1.5 215.04 A1.50003 1.50003 -180 0 0 -0 216.54 L0 225.54 Z" class="st3"></path>		</g>	</g></g>
</svg>

## 在目标设备上运行应用程序

1. 确保您已完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/prerequisites-for-python-sample-applications.html)。
2. 在目标设备上运行目标检测脚本：
    1. 控制台 1
        - 640 × 480 流：

                gst-launch-1.0 -e qtiqmmfsrc camera=0 ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! h264parse config-interval=1 ! qtirtspbinCopy to clipboard
        - 1980 × 1080 流：

                gst-launch-1.0 -e qtiqmmfsrc camera=0 ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! h264parse config-interval=1 ! qtirtspbinCopy to clipboard
    2. 控制台 2：

            gst-rtspsrc-detection-display.pyCopy to clipboard

Table : 用于使用 RTSP 流进行目标检测的模型和标签文件的默认目录

        | Runtime | 模型 | 标签 |
        | :--- | :--- | :--- |
        | LiteRT | <var class="keyword varname">/etc/models/yolox_quantized.tflite</var> | <var class="keyword varname">/etc/labels/yolox.json</var> |
3. 要显示可用的帮助选项，请运行以下命令：

        gst-rtspsrc-detection-display.py -hCopy to clipboard

## 预期输出

Figure : 使用 RTSP 流进行目标检测和显示的预期输出 – 预览
                
                ![](data:image/png;base64,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)

## Pipeline 流

下表列出了使用 RTSP 流 pipeline 进行解码和目标检测中使用的插件：| 插件 | 说明 |
| --- | --- |
| rtspsrc | 从 <var class="keyword varname">rtsp://&lt;ip-address&gt;/live</var>接收 RTSP 流。 |
| rtph264depay | 从 RTSP 流中提取视频数据。 |
| h264parse | 渲染 H.264 视频。 |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h264dec.html) | 解码视频然后使用 tee 拆分流进行推理。 |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvconverter.html) | <ol class="ol" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_kgt_hnq_nbc"><br>                                    <li class="li">在其接收端口上接收视频流。</li><br><br>                                    <li class="li">对流数据执行以下预处理。当模型需要浮点值作为输入时，会执行此预处理。<ol class="ol" type="a" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_drd_jnq_nbc"><br>                                            <li class="li">颜色转换</li><br><br>                                            <li class="li">缩放（放大或缩小）</li><br><br>                                            <li class="li">归一化</li><br><br>                                        </ol><br></li><br><br>                                </ol><br><br>                                <br>目标检测模型使用张量数据进行推理。 |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimltflite.html) | <ol class="ol" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_u1l_cxl_vbc"><br>                                    <li class="li">加载模型。</li><br><br>                                    <li class="li">为选择的 delegate 修改图。</li><br><br>                                    <li class="li">在其接收端口上接收张量数据。</li><br><br>                                    <li class="li">执行推理并在其发送端口上生成包含推理结果的张量数据。</li><br><br>                                </ol> |
| qtimlpostprocess | <ol class="ol" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_ky5_grn_vbc"><br>                                    <li class="li"> 接收来自目标检测模型的推理张量。 </li><br><br>                                    <li class="li">将接收端口上的推理张量转换为视频或文本等格式，稍后可由多媒体插件进行处理。</li><br><br>                                    <li class="li">将阈值应用于所选的结果数。 </li><br><br>                                    <li class="li">加载检测模型的相应模块。 <p class="p">在此用例中，qtimlpostprocess 执行以下操作：<br>                                            </p><ol class="ol" type="a" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_jcd_wnk_5bc"><br>                                            <li class="li">加载 YOLOv8 子模块。 </li><br><br>                                            <li class="li">将结果生成为文本结构。</li><br><br>                                            <li class="li">接着发送到 qtimetamux 的接收端口。</li><br><br>                                        </ol><br></li><br><br>                                </ol> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimetamux.html) | <ol class="ol" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_ll3_x5l_vbc"><br>                                    <li class="li">在接收端口上接收视频流和文本流，以及与视频流相对应的边框结果。</li><br><br>                                    <li class="li">使用接收端口中的视频流内容生成 GST 缓存。</li><br><br>                                    <li class="li">将边框作为 GstVideoRegionOfInterest 从数据接收端添加到其发送端口上的 GST 缓存元数据（元复用）。</li><br><br>                                </ol> |
| [qtivoverlay](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtioverlay.html) | <ol class="ol" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_wst_y5l_vbc"><br>                                    <li class="li">接收多路复用流。</li><br><br>                                    <li class="li">使用 CL 将边框叠加在 VideoFrame 上。</li><br><br>                                    <li class="li">在其发送端口上生成带有叠加层的 GST 缓存。</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html) | <ol class="ol" id="rts-decode-ai-detection-yolo-v8-overlay-display__ol_cgt_mwl_vbc"><br>                                    <li class="li">在其接收端口上接收视频</li><br><br>                                    <li class="li">将视频流提交到 Weston。 </li><br><br>                                    <li class="li">Weston 在本地显示器设备上呈现视频流。</li><br><br>                                </ol> |

## 相关信息

[目标检测](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-ai-object-detection.html)

**Parent Topic:** [运行基于 Python 的应用程序](https://docs.qualcomm.com/doc/80-70022-50SC/topic/python-sample-applications.html)

Last Published: Nov 05, 2025

[Previous Topic
目标检测与显示](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/camera-detection-display.md) [Next Topic
使用 Python 解码 JPEG 图像](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/decode-jpeg-images-using-python.md)