# AI USB 摄像头

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html)

**gst-ai-usb-camera-app** 从连接到 Qualcomm EVK 的 USB 网络摄像头传输视频流。该网络摄像头应可作为 /dev/videoX设备访问。此外，您还可以执行目标检测并预览结果。

Note: 此应用程序在 Ubuntu Server 上不受支持。

您可以选择在 Wayland 上预览输出，或编码为视频文件，或通过 RTSP 进行实时流传输。

或者，您可以将 `enable-object-detection ` 设置为 *True* 来执行目标检测。

下图展示了一个 pipeline：处理来自 USB 摄像头的输入以生成各种输出。

有关这些 pipeline 中使用的插件的更多信息，请参见 [Pipeline 流](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html#ai-usb-camera__section_jjq_bln_42c)。

Figure : gst-ai-usb-single-camera-app pipeline
            
            <!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by Microsoft Visio, SVG Export gst_ai_usb_single_camera_app_pipeline.svg Layer_1 -->
<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.125in" height="3.91667in" viewbox="0 0 945 282" xml:space="preserve" color-interpolation-filters="sRGB" class="st13"><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: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: #000000; font-family: SimHei; font-size: 1.00001em; font-weight: bold }
.svg-1 .st5 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st6 { fill: #ffffff; font-family: Roboto; font-size: 1.00001em }
.svg-1 .st7 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st8 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st9 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st10 { font-family: Roboto; font-size: 1em }
.svg-1 .st11 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st12 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-1 .st13 { 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>Layer_1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape2-1" v:mid="2" v:groupcontext="shape" transform="translate(0.375,-0.375023)">		<title>Sheet.2</title>		<path d="M0 276.37 A5.62513 5.62513 -180 0 0 5.62 282 L938.63 282 A5.62513 5.62513 -180 0 0 944.25 276.37 L944.25 6.38					 A5.62513 5.62513 -180 0 0 938.63 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 -0 6.38 L0 276.37 Z" class="st1"></path>	</g>	<g id="shape3-3" v:mid="3" v:groupcontext="shape">		<title>Sheet.3</title>		<path d="M939 0.75 C941.89 0.75 944.25 3.11 944.25 6 L944.25 276 C944.25 278.89 941.89 281.25 939 281.25 L6 281.25 C3.11					 281.25 0.75 278.89 0.75 276 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L939 0.75 ZM939 0 L6 0 C2.69 0 0 2.69 0					 6 L0 276 C0 279.31 2.69 282 6 282 L939 282 C942.31 282 945 279.31 945 276 L945 6 C945 2.69 942.31 0 939					 0 Z" class="st2"></path>	</g>	<g id="shape5-5" v:mid="5" v:groupcontext="shape" transform="translate(14.9998,-253.047)">		<title>Sheet.5</title>		<desc>显示器实时摄像头预览</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="64.5001" cy="274.8" width="129.01" height="14.4"></v:textrect>		<rect x="0" y="267.6" width="129" height="14.4" class="st3"></rect>		<text x="0" y="278.4" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>显示器实时摄像头预览</text>		</g>	<g id="shape7-8" v:mid="7" v:groupcontext="shape" transform="translate(15,-200.825)">		<title>Sheet.7</title>		<desc>v4l2src</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="33.13" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2src</text>		</g>	<g id="group8-11" transform="translate(120,-220.333)" v:mid="8" v:groupcontext="group">		<title>Sheet.8</title>		<g id="shape9-12" v:mid="9" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.9</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape10-15" v:mid="10" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.10</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape12-17" v:mid="12" v:groupcontext="shape" transform="translate(150,-200.825)">		<title>Sheet.12</title>		<desc>qtivtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st9"></path>		<text x="16.31" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivtransform</text>		</g>	<g id="group13-20" transform="translate(255,-220.333)" v:mid="13" v:groupcontext="group">		<title>Sheet.13</title>		<g id="shape14-21" v:mid="14" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.14</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape15-24" v:mid="15" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.15</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape17-26" v:mid="17" v:groupcontext="shape" transform="translate(285,-200.825)">		<title>Sheet.17</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="27.47" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="group18-29" transform="translate(390,-220.333)" v:mid="18" v:groupcontext="group">		<title>Sheet.18</title>		<g id="shape19-30" v:mid="19" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.19</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape20-33" v:mid="20" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.20</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape22-35" v:mid="22" v:groupcontext="shape" transform="translate(420,-200.825)">		<title>Sheet.22</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="18.76" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="shape24-38" v:mid="24" v:groupcontext="shape" transform="translate(14.9998,-173.678)">		<title>Sheet.24</title>		<desc>视频编码</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="53.2501" cy="274.8" width="106.51" height="14.4"></v:textrect>		<rect x="0" y="267.6" width="106.5" height="14.4" class="st3"></rect>		<text x="0" y="278.4" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>视频编码</text>		</g>	<g id="shape26-41" v:mid="26" v:groupcontext="shape" transform="translate(15,-121.456)">		<title>Sheet.26</title>		<desc>v4l2src</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="33.13" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2src</text>		</g>	<g id="group27-44" transform="translate(120,-140.964)" v:mid="27" v:groupcontext="group">		<title>Sheet.27</title>		<g id="shape28-45" v:mid="28" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.28</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape29-48" v:mid="29" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.29</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape31-50" v:mid="31" v:groupcontext="shape" transform="translate(150,-121.456)">		<title>Sheet.31</title>		<desc>qtivtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st9"></path>		<text x="16.31" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivtransform</text>		</g>	<g id="group32-53" transform="translate(255,-140.964)" v:mid="32" v:groupcontext="group">		<title>Sheet.32</title>		<g id="shape33-54" v:mid="33" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.33</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape34-57" v:mid="34" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.34</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape36-59" v:mid="36" v:groupcontext="shape" transform="translate(285,-121.456)">		<title>Sheet.36</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="27.47" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="group37-62" transform="translate(390,-140.964)" v:mid="37" v:groupcontext="group">		<title>Sheet.37</title>		<g id="shape38-63" v:mid="38" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.38</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape39-66" v:mid="39" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.39</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape41-68" v:mid="41" v:groupcontext="shape" transform="translate(420,-121.456)">		<title>Sheet.41</title>		<desc>v4l2h264enc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="18.36" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2h264enc</text>		</g>	<g id="group43-71" transform="translate(525,-140.964)" v:mid="43" v:groupcontext="group">		<title>Sheet.43</title>		<g id="shape44-72" v:mid="44" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.44</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape45-75" v:mid="45" v:groupcontext="shape" transform="translate(24.8188,0)">			<title>Sheet.45</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape46-77" v:mid="46" v:groupcontext="shape" transform="translate(555,-121.456)">		<title>Sheet.46</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="24.15" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="group47-80" transform="translate(660,-140.964)" v:mid="47" v:groupcontext="group">		<title>Sheet.47</title>		<g id="shape48-81" v:mid="48" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.48</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape49-84" v:mid="49" v:groupcontext="shape" transform="translate(24.8188,0)">			<title>Sheet.49</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape51-86" v:mid="51" v:groupcontext="shape" transform="translate(690,-121.456)">		<title>Sheet.51</title>		<desc>mp4mux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="28.97" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>mp4mux</text>		</g>	<g id="group52-89" transform="translate(795,-140.964)" v:mid="52" v:groupcontext="group">		<title>Sheet.52</title>		<g id="shape53-90" v:mid="53" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.53</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape54-93" v:mid="54" v:groupcontext="shape" transform="translate(24.8188,0)">			<title>Sheet.54</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape56-95" v:mid="56" v:groupcontext="shape" transform="translate(825,-121.456)">		<title>Sheet.56</title>		<desc>filesink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="33.42" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesink</text>		</g>	<g id="group58-98" transform="translate(525,-61.5954)" v:mid="58" v:groupcontext="group">		<title>Sheet.58</title>		<g id="shape59-99" v:mid="59" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.59</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape60-102" v:mid="60" v:groupcontext="shape" transform="translate(24.8188,0)">			<title>Sheet.60</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape61-104" v:mid="61" v:groupcontext="shape" transform="translate(555,-42.0872)">		<title>Sheet.61</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="24.15" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="group62-107" transform="translate(660,-61.5954)" v:mid="62" v:groupcontext="group">		<title>Sheet.62</title>		<g id="shape63-108" v:mid="63" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.63</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape64-111" v:mid="64" v:groupcontext="shape" transform="translate(24.8188,0)">			<title>Sheet.64</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape66-113" v:mid="66" v:groupcontext="shape" transform="translate(690,-42.0872)">		<title>Sheet.66</title>		<desc>qtirtspbin</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st9"></path>		<text x="27.09" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtirtspbin</text>		</g>	<g id="shape68-116" v:mid="68" v:groupcontext="shape" transform="translate(14.9998,-94.3091)">		<title>Sheet.68</title>		<desc>视频编码和 RTSP 流传输</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="71.2501" cy="274.8" width="142.51" height="14.4"></v:textrect>		<rect x="0" y="267.6" width="142.5" height="14.4" class="st3"></rect>		<text x="0" y="278.79" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>视频编码和<tspan class="st10"> </tspan><tspan class="st10">RTSP </tspan>流传输</text>		</g>	<g id="shape70-121" v:mid="70" v:groupcontext="shape" transform="translate(15,-42.0872)">		<title>Sheet.70</title>		<desc>v4l2src</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="33.13" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2src</text>		</g>	<g id="group71-124" transform="translate(120,-61.5954)" v:mid="71" v:groupcontext="group">		<title>Sheet.71</title>		<g id="shape72-125" v:mid="72" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.72</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape73-128" v:mid="73" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.73</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape75-130" v:mid="75" v:groupcontext="shape" transform="translate(150,-42.0872)">		<title>Sheet.75</title>		<desc>qtivtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st9"></path>		<text x="16.31" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivtransform</text>		</g>	<g id="group76-133" transform="translate(255,-61.5954)" v:mid="76" v:groupcontext="group">		<title>Sheet.76</title>		<g id="shape77-134" v:mid="77" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.77</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape78-137" v:mid="78" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.78</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape80-139" v:mid="80" v:groupcontext="shape" transform="translate(285,-42.0872)">		<title>Sheet.80</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="27.47" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="group81-142" transform="translate(390,-61.5954)" v:mid="81" v:groupcontext="group">		<title>Sheet.81</title>		<g id="shape82-143" v:mid="82" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.82</title>			<path d="M0 282 L25.69 282" class="st7"></path>		</g>		<g id="shape83-146" v:mid="83" v:groupcontext="shape" transform="translate(24.8189,5.68434E-14)">			<title>Sheet.83</title>			<path d="M0 282 L5.18 279.01 L0 276.02 L0 282 Z" class="st8"></path>		</g>	</g>	<g id="shape85-148" v:mid="85" v:groupcontext="shape" transform="translate(420,-42.0872)">		<title>Sheet.85</title>		<desc>v4l2h264enc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.5" cy="259.5" width="105.01" height="45"></v:textrect>		<path d="M0 279 A3.00007 3.00007 -180 0 0 3 282 L102 282 A3.00007 3.00007 -180 0 0 105 279 L105 240 A3.00007 3.00007					 -180 0 0 102 237 L3 237 A3.00007 3.00007 -180 0 0 0 240 L0 279 Z" class="st5"></path>		<text x="18.36" y="263.1" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2h264enc</text>		</g>	<g id="group94-151" transform="translate(819.875,-14.7814)" v:mid="94" v:groupcontext="group">		<title>Sheet.94</title>		<g id="shape89-152" v:mid="89" v:groupcontext="shape" transform="translate(15.1882,0)">			<title>Sheet.89</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="26.6522" cy="275.7" width="53.31" height="12.6"></v:textrect>			<rect x="0" y="269.4" width="53.3043" height="12.6" class="st3"></rect>			<text x="0" y="278.85" class="st11" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape90-155" v:mid="90" v:groupcontext="shape" transform="translate(6.29496E-14,-0.218624)">			<title>Sheet.90</title>			<path d="M0 280.5 A1.50003 1.50003 -180 0 0 1.5 282 L10.5 282 A1.50003 1.50003 -180 0 0 12 280.5 L12 271.5 A1.50003						 1.50003 -180 0 0 10.5 270 L1.5 270 A1.50003 1.50003 -180 0 0 0 271.5 L0 280.5 Z" class="st9"></path>		</g>		<g id="shape92-157" v:mid="92" v:groupcontext="shape" transform="translate(89.1246,0)">			<title>Sheet.92</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="275.7" width="21.01" height="12.6"></v:textrect>			<rect x="0" y="269.4" width="21" height="12.6" class="st3"></rect>			<text x="-0" y="278.85" class="st12" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape93-160" v:mid="93" v:groupcontext="shape" transform="translate(73.9363,-0.218624)">			<title>Sheet.93</title>			<path d="M0 280.5 A1.50003 1.50003 -180 0 0 1.5 282 L10.5 282 A1.50003 1.50003 -180 0 0 12 280.5 L12 271.5 A1.50003						 1.50003 -180 0 0 10.5 270 L1.5 270 A1.50003 1.50003 -180 0 0 0 271.5 L0 280.5 Z" class="st5"></path>		</g>	</g></g>
</svg>

Figure : 带目标检测的 gst-ai-usb-single-camera-app pipeline
            
            <!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by Microsoft Visio, SVG Export gst_usb_single_camera_app_flow.svg Layer_3 -->
<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.3446in" height="3.96528in" viewbox="0 0 960.809 285.5" xml:space="preserve" color-interpolation-filters="sRGB" class="st17"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-2 .st1 { fill: #fafafa; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st2 { fill: #d2d7e1; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st3 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-2 .st4 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-2 .st5 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st6 { fill: #ffffff; font-family: Roboto; font-size: 1.00001em }
.svg-2 .st7 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st8 { fill: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st9 { fill: #ffffff; font-family: Roboto; font-size: 0.874992em }
.svg-2 .st10 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st11 { font-size: 1em }
.svg-2 .st12 { fill: none }
.svg-2 .st13 { font-family: SimHei; font-size: 1em }
.svg-2 .st14 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-2 .st15 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-2 .st16 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-2 .st17 { 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>Layer_3</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape2-1" v:mid="2" v:groupcontext="shape" transform="translate(0.375,-0.375275)">		<title>Sheet.2</title>		<path d="M0 279.88 A5.62513 5.62513 -180 0 0 5.63 285.5 L954.43 285.5 A5.62513 5.62513 -180 0 0 960.06 279.88 L960.06					 6.38 A5.62513 5.62513 -180 0 0 954.43 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 0 6.38 L0 279.88 Z" class="st1"></path>	</g>	<g id="shape3-3" v:mid="3" v:groupcontext="shape">		<title>Sheet.3</title>		<path d="M954.81 0.75 C957.7 0.75 960.06 3.11 960.06 6 L960.06 279.5 C960.06 282.39 957.7 284.75 954.81 284.75 L6 284.75					 C3.11 284.75 0.75 282.39 0.75 279.5 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L954.81 0.75 ZM954.81 0 L6 0 C2.69					 0 0 2.69 0 6 L0 279.5 C0 282.81 2.69 285.5 6 285.5 L954.81 285.5 C958.12 285.5 960.81 282.81 960.81 279.5					 L960.81 6 C960.81 2.69 958.12 0 954.81 0 Z" class="st2"></path>	</g>	<g id="shape4-5" v:mid="4" v:groupcontext="shape" transform="translate(914.998,-233.682)">		<title>Sheet.4</title>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L27 285.5 A3.00007 3.00007 -180 0 0 30 282.5 L30 267.5 A3.00007					 3.00007 -180 0 0 27 264.5 L3 264.5 A3.00007 3.00007 -180 0 0 0 267.5 L0 282.5 Z" class="st3"></path>	</g>	<g id="shape5-7" v:mid="5" v:groupcontext="shape" transform="translate(923.998,-227.682)">		<title>Sheet.5</title>		<path d="M0 285.5 L12 285.5" class="st4"></path>	</g>	<g id="shape6-10" v:mid="6" v:groupcontext="shape" transform="translate(1215.5,51.8183) rotate(90)">		<title>Sheet.6</title>		<path d="M0 285.5 L6 285.5" class="st4"></path>	</g>	<g id="shape7-13" v:mid="7" v:groupcontext="shape" transform="translate(56.848,-214.25)">		<title>Sheet.7</title>		<desc>v4l2src</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="257.375" width="67.51" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L64.5 285.5 A3.00007 3.00007 -180 0 0 67.5 282.5 L67.5 232.25 A3.00007					 3.00007 -180 0 0 64.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 0 232.25 L0 282.5 Z" class="st5"></path>		<text x="14.38" y="260.97" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2src</text>		</g>	<g id="shape8-16" v:mid="8" v:groupcontext="shape" transform="translate(45.5985,-242.375)">		<title>Sheet.8</title>		<path d="M0 285.5 L11.25 285.5" class="st7"></path>	</g>	<g id="shape9-19" v:mid="9" v:groupcontext="shape" transform="translate(903.753,-242.375)">		<title>Sheet.9</title>		<path d="M0 285.5 L11.25 285.5" class="st7"></path>	</g>	<g id="shape11-22" v:mid="11" v:groupcontext="shape" transform="translate(289.347,-214.25)">		<title>Sheet.11</title>		<desc>qtimlvtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="7.46" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvtransform</text>		</g>	<g id="shape13-25" v:mid="13" v:groupcontext="shape" transform="translate(274.347,-236.75)">		<title>Sheet.13</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape14-28" v:mid="14" v:groupcontext="shape" transform="translate(284.166,-233.758)">		<title>Sheet.14</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape16-30" v:mid="16" v:groupcontext="shape" transform="translate(394.347,-214.25)">		<title>Sheet.16</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90.01" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="8.6" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="shape18-33" v:mid="18" v:groupcontext="shape" transform="translate(379.347,-236.75)">		<title>Sheet.18</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape19-36" v:mid="19" v:groupcontext="shape" transform="translate(389.166,-233.758)">		<title>Sheet.19</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape21-38" v:mid="21" v:groupcontext="shape" transform="translate(499.347,-214.25)">		<title>Sheet.21</title>		<desc>qtimltflite/qtimlsnpe/ qtimlqnn</desc>		<v:textblock v:margins="rect(3.6,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="20.41" y="256.18" class="st9" v:langid="1033"><v:paragraph v:spline="-1" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite/<tspan x="19.66" dy="1em" class="st11">qtimlsnpe/<v:newlinechar></v:newlinechar></tspan><tspan x="24.37" dy="1.107em" class="st11">qtimlqnn</tspan></text>		</g>	<g id="shape23-43" v:mid="23" v:groupcontext="shape" transform="translate(484.347,-236.75)">		<title>Sheet.23</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape24-46" v:mid="24" v:groupcontext="shape" transform="translate(494.166,-233.758)">		<title>Sheet.24</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape26-48" v:mid="26" v:groupcontext="shape" transform="translate(604.347,-214.25)">		<title>Sheet.26</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="4.13" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="shape28-51" v:mid="28" v:groupcontext="shape" transform="translate(589.347,-236.75)">		<title>Sheet.28</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape29-54" v:mid="29" v:groupcontext="shape" transform="translate(599.165,-233.758)">		<title>Sheet.29</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape31-56" v:mid="31" v:groupcontext="shape" transform="translate(709.347,-214.25)">		<title>Sheet.31</title>		<desc>qtivcomposer</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="257.375" width="90" height="56.25"></v:textrect>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 232.25 A3.00007					 3.00007 -180 0 0 87 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st8"></path>		<text x="12.94" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer</text>		</g>	<g id="shape33-59" v:mid="33" v:groupcontext="shape" transform="translate(694.347,-236.75)">		<title>Sheet.33</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape34-62" v:mid="34" v:groupcontext="shape" transform="translate(704.165,-233.758)">		<title>Sheet.34</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape36-64" v:mid="36" v:groupcontext="shape" transform="translate(814.347,-214.25)">		<title>Sheet.36</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="257.375" width="90.01" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 232.25 A3.00007					 3.00007 -180 0 0 87 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 0 232.25 L0 282.5 Z" class="st5"></path>		<text x="15.48" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="shape38-67" v:mid="38" v:groupcontext="shape" transform="translate(799.347,-242.375)">		<title>Sheet.38</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape39-70" v:mid="39" v:groupcontext="shape" transform="translate(809.165,-239.383)">		<title>Sheet.39</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape41-72" v:mid="41" v:groupcontext="shape" transform="translate(139.348,-214.25)">		<title>Sheet.41</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="257.375" width="67.51" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L64.5 285.5 A3.00007 3.00007 -180 0 0 67.5 282.5 L67.5 232.25 A3.00007					 3.00007 -180 0 0 64.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st5"></path>		<text x="11.85" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="shape43-75" v:mid="43" v:groupcontext="shape" transform="translate(124.348,-242.375)">		<title>Sheet.43</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape44-78" v:mid="44" v:groupcontext="shape" transform="translate(134.167,-239.383)">		<title>Sheet.44</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape46-80" v:mid="46" v:groupcontext="shape" transform="translate(221.847,-214.25)">		<title>Sheet.46</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="26.25" cy="257.375" width="52.51" height="56.25"></v:textrect>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L49.5 285.5 A3.00007 3.00007 -180 0 0 52.5 282.5 L52.5 232.25 A3.00007					 3.00007 -180 0 0 49.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st5"></path>		<text x="18.97" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="shape48-83" v:mid="48" v:groupcontext="shape" transform="translate(206.847,-242.375)">		<title>Sheet.48</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape49-86" v:mid="49" v:groupcontext="shape" transform="translate(216.666,-239.383)">		<title>Sheet.49</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape52-88" v:mid="52" v:groupcontext="shape" transform="translate(274.309,-263.842)">		<title>Sheet.52</title>		<path d="M0 285.5 L430.73 285.5" class="st7"></path>	</g>	<g id="shape53-91" v:mid="53" v:groupcontext="shape" transform="translate(704.165,-260.85)">		<title>Sheet.53</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape54-93" v:mid="54" v:groupcontext="shape" transform="translate(15.0022,-229.28)">		<title>Sheet.54</title>		<ellipse cx="15" cy="270.5" rx="15" ry="15" class="st3"></ellipse>	</g>	<g id="shape55-95" v:mid="55" v:groupcontext="shape" transform="translate(24.3772,-238.655)">		<title>Sheet.55</title>		<ellipse cx="5.625" cy="279.875" rx="5.625" ry="5.625" class="st3"></ellipse>	</g>	<g id="shape56-97" v:mid="56" v:groupcontext="shape" transform="translate(20.6272,-221.78)">		<title>Sheet.56</title>		<path d="M0 285.5 L18.75 285.5 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L18.75 285.5" class="st4"></path>	</g>	<g id="shape57-100" v:mid="57" v:groupcontext="shape" transform="translate(30.0022,-221.78)">		<title>Sheet.57</title>		<path d="M0 285.5 L0 278 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L0 278" class="st4"></path>	</g>	<g id="shape58-103" v:mid="58" v:groupcontext="shape" transform="translate(56.848,-128.125)">		<title>Sheet.58</title>		<desc>v4l2src</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="257.375" width="67.51" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L64.5 285.5 A3.00007 3.00007 -180 0 0 67.5 282.5 L67.5 232.25 A3.00007					 3.00007 -180 0 0 64.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 0 232.25 L0 282.5 Z" class="st5"></path>		<text x="14.38" y="260.97" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2src</text>		</g>	<g id="shape59-106" v:mid="59" v:groupcontext="shape" transform="translate(45.5985,-156.25)">		<title>Sheet.59</title>		<path d="M0 285.5 L11.25 285.5" class="st7"></path>	</g>	<g id="shape60-109" v:mid="60" v:groupcontext="shape" transform="translate(903.753,-156.25)">		<title>Sheet.60</title>		<path d="M0 285.5 L12 285.5" class="st7"></path>	</g>	<g id="shape62-112" v:mid="62" v:groupcontext="shape" transform="translate(289.347,-128.125)">		<title>Sheet.62</title>		<desc>qtimlvtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="7.46" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvtransform</text>		</g>	<g id="shape64-115" v:mid="64" v:groupcontext="shape" transform="translate(274.347,-150.625)">		<title>Sheet.64</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape65-118" v:mid="65" v:groupcontext="shape" transform="translate(284.166,-147.633)">		<title>Sheet.65</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape67-120" v:mid="67" v:groupcontext="shape" transform="translate(394.347,-128.125)">		<title>Sheet.67</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90.01" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="8.6" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="shape69-123" v:mid="69" v:groupcontext="shape" transform="translate(379.347,-150.625)">		<title>Sheet.69</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape70-126" v:mid="70" v:groupcontext="shape" transform="translate(389.166,-147.633)">		<title>Sheet.70</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape72-128" v:mid="72" v:groupcontext="shape" transform="translate(499.347,-128.125)">		<title>Sheet.72</title>		<desc>qtimltflite/qtimlsnpe/ qtimlqnn</desc>		<v:textblock v:margins="rect(3.6,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="20.41" y="256.18" class="st9" v:langid="1033"><v:paragraph v:spline="-1" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite/<tspan x="19.66" dy="1em" class="st11">qtimlsnpe/<v:newlinechar></v:newlinechar></tspan><tspan x="24.37" dy="1.107em" class="st11">qtimlqnn</tspan></text>		</g>	<g id="shape74-133" v:mid="74" v:groupcontext="shape" transform="translate(484.347,-150.625)">		<title>Sheet.74</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape75-136" v:mid="75" v:groupcontext="shape" transform="translate(494.166,-147.633)">		<title>Sheet.75</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape77-138" v:mid="77" v:groupcontext="shape" transform="translate(604.347,-128.125)">		<title>Sheet.77</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="4.13" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="shape79-141" v:mid="79" v:groupcontext="shape" transform="translate(589.347,-150.625)">		<title>Sheet.79</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape80-144" v:mid="80" v:groupcontext="shape" transform="translate(599.165,-147.633)">		<title>Sheet.80</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape82-146" v:mid="82" v:groupcontext="shape" transform="translate(709.347,-128.125)">		<title>Sheet.82</title>		<desc>qtivcomposer</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="257.375" width="90" height="56.25"></v:textrect>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 232.25 A3.00007					 3.00007 -180 0 0 87 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st8"></path>		<text x="12.94" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer</text>		</g>	<g id="shape84-149" v:mid="84" v:groupcontext="shape" transform="translate(694.347,-150.625)">		<title>Sheet.84</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape85-152" v:mid="85" v:groupcontext="shape" transform="translate(704.165,-147.633)">		<title>Sheet.85</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape87-154" v:mid="87" v:groupcontext="shape" transform="translate(814.347,-128.125)">		<title>Sheet.87</title>		<desc>filesink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="257.375" width="90.01" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 232.25 A3.00007					 3.00007 -180 0 0 87 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 0 232.25 L0 282.5 Z" class="st5"></path>		<text x="28.31" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesink</text>		</g>	<g id="shape89-157" v:mid="89" v:groupcontext="shape" transform="translate(799.347,-156.25)">		<title>Sheet.89</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape90-160" v:mid="90" v:groupcontext="shape" transform="translate(809.165,-153.258)">		<title>Sheet.90</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape92-162" v:mid="92" v:groupcontext="shape" transform="translate(139.348,-128.125)">		<title>Sheet.92</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="257.375" width="67.51" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L64.5 285.5 A3.00007 3.00007 -180 0 0 67.5 282.5 L67.5 232.25 A3.00007					 3.00007 -180 0 0 64.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st5"></path>		<text x="11.85" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="shape94-165" v:mid="94" v:groupcontext="shape" transform="translate(124.348,-156.25)">		<title>Sheet.94</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape95-168" v:mid="95" v:groupcontext="shape" transform="translate(134.167,-153.258)">		<title>Sheet.95</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape97-170" v:mid="97" v:groupcontext="shape" transform="translate(221.847,-128.125)">		<title>Sheet.97</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="26.25" cy="257.375" width="52.51" height="56.25"></v:textrect>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L49.5 285.5 A3.00007 3.00007 -180 0 0 52.5 282.5 L52.5 232.25 A3.00007					 3.00007 -180 0 0 49.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st5"></path>		<text x="18.97" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="shape99-173" v:mid="99" v:groupcontext="shape" transform="translate(206.847,-156.25)">		<title>Sheet.99</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape100-176" v:mid="100" v:groupcontext="shape" transform="translate(216.666,-153.258)">		<title>Sheet.100</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape103-178" v:mid="103" v:groupcontext="shape" transform="translate(274.309,-177.717)">		<title>Sheet.103</title>		<path d="M0 285.5 L430.73 285.5" class="st7"></path>	</g>	<g id="shape104-181" v:mid="104" v:groupcontext="shape" transform="translate(704.165,-174.725)">		<title>Sheet.104</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape105-183" v:mid="105" v:groupcontext="shape" transform="translate(15.0022,-143.155)">		<title>Sheet.105</title>		<ellipse cx="15" cy="270.5" rx="15" ry="15" class="st3"></ellipse>	</g>	<g id="shape106-185" v:mid="106" v:groupcontext="shape" transform="translate(24.3772,-152.53)">		<title>Sheet.106</title>		<ellipse cx="5.625" cy="279.875" rx="5.625" ry="5.625" class="st3"></ellipse>	</g>	<g id="shape107-187" v:mid="107" v:groupcontext="shape" transform="translate(20.6272,-135.655)">		<title>Sheet.107</title>		<path d="M0 285.5 L18.75 285.5 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L18.75 285.5" class="st4"></path>	</g>	<g id="shape108-190" v:mid="108" v:groupcontext="shape" transform="translate(30.0022,-135.655)">		<title>Sheet.108</title>		<path d="M0 285.5 L0 278 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L0 278" class="st4"></path>	</g>	<g id="shape109-193" v:mid="109" v:groupcontext="shape" transform="translate(916.498,-139.375)">		<title>Sheet.109</title>		<path d="M18.56 251.75 L3.37 251.75 C1.51 251.75 0 253.26 0 255.13 L0 282.13 C0 283.99 1.51 285.5 3.37 285.5 L23.62 285.5					 C25.49 285.5 27 283.99 27 282.13 L27 260.19 L18.56 251.75 Z" class="st3"></path>	</g>	<g id="shape110-195" v:mid="110" v:groupcontext="shape" transform="translate(933.373,-163)">		<title>Sheet.110</title>		<path d="M0 275.38 L0 282.13 C0 283.99 1.51 285.5 3.37 285.5 L10.12 285.5 L0 275.38 Z" class="st12"></path>		<path d="M0 275.38 L0 282.13 C0 283.99 1.51 285.5 3.37 285.5 L10.12 285.5" class="st4"></path>	</g>	<g id="shape111-198" v:mid="111" v:groupcontext="shape" transform="translate(926.623,-147.813)">		<title>Sheet.111</title>		<path d="M0 275.38 L8.44 280.44 L0 285.5 L0 275.38 Z" class="st3"></path>	</g>	<g id="shape112-200" v:mid="112" v:groupcontext="shape" transform="translate(56.848,-42)">		<title>Sheet.112</title>		<desc>v4l2src</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="257.375" width="67.51" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L64.5 285.5 A3.00007 3.00007 -180 0 0 67.5 282.5 L67.5 232.25 A3.00007					 3.00007 -180 0 0 64.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 0 232.25 L0 282.5 Z" class="st5"></path>		<text x="14.38" y="260.97" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2src</text>		</g>	<g id="shape113-203" v:mid="113" v:groupcontext="shape" transform="translate(45.5985,-70.125)">		<title>Sheet.113</title>		<path d="M0 285.5 L11.25 285.5" class="st7"></path>	</g>	<g id="shape114-206" v:mid="114" v:groupcontext="shape" transform="translate(903.753,-70.125)">		<title>Sheet.114</title>		<path d="M0 285.5 L11.25 285.5" class="st7"></path>	</g>	<g id="shape116-209" v:mid="116" v:groupcontext="shape" transform="translate(289.347,-42)">		<title>Sheet.116</title>		<desc>qtimlvtransform</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="7.46" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvtransform</text>		</g>	<g id="shape118-212" v:mid="118" v:groupcontext="shape" transform="translate(274.347,-64.5)">		<title>Sheet.118</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape119-215" v:mid="119" v:groupcontext="shape" transform="translate(284.166,-61.5082)">		<title>Sheet.119</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape121-217" v:mid="121" v:groupcontext="shape" transform="translate(394.347,-42)">		<title>Sheet.121</title>		<desc>qtimlvconverter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90.01" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="8.6" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlvconverter</text>		</g>	<g id="shape123-220" v:mid="123" v:groupcontext="shape" transform="translate(379.347,-64.5)">		<title>Sheet.123</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape124-223" v:mid="124" v:groupcontext="shape" transform="translate(389.166,-61.5082)">		<title>Sheet.124</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape126-225" v:mid="126" v:groupcontext="shape" transform="translate(499.347,-42)">		<title>Sheet.126</title>		<desc>qtimltflite/qtimlsnpe/ qtimlqnn</desc>		<v:textblock v:margins="rect(3.6,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="20.41" y="256.18" class="st9" v:langid="1033"><v:paragraph v:spline="-1" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimltflite/<tspan x="19.66" dy="1em" class="st11">qtimlsnpe/<v:newlinechar></v:newlinechar></tspan><tspan x="24.37" dy="1.107em" class="st11">qtimlqnn</tspan></text>		</g>	<g id="shape128-230" v:mid="128" v:groupcontext="shape" transform="translate(484.347,-64.5)">		<title>Sheet.128</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape129-233" v:mid="129" v:groupcontext="shape" transform="translate(494.166,-61.5082)">		<title>Sheet.129</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape131-235" v:mid="131" v:groupcontext="shape" transform="translate(604.347,-42)">		<title>Sheet.131</title>		<desc>qtimlpostprocess</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="263" width="90" height="45"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 243.5 A3.00007 3.00007					 -180 0 0 87 240.5 L3 240.5 A3.00007 3.00007 -180 0 0 -0 243.5 L0 282.5 Z" class="st8"></path>		<text x="4.13" y="266.6" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtimlpostprocess</text>		</g>	<g id="shape133-238" v:mid="133" v:groupcontext="shape" transform="translate(589.347,-64.5)">		<title>Sheet.133</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape134-241" v:mid="134" v:groupcontext="shape" transform="translate(599.165,-61.5082)">		<title>Sheet.134</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape136-243" v:mid="136" v:groupcontext="shape" transform="translate(709.347,-42)">		<title>Sheet.136</title>		<desc>qtivcomposer</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="257.375" width="90" height="56.25"></v:textrect>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 232.25 A3.00007					 3.00007 -180 0 0 87 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st8"></path>		<text x="12.94" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer</text>		</g>	<g id="shape138-246" v:mid="138" v:groupcontext="shape" transform="translate(694.347,-64.5)">		<title>Sheet.138</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape139-249" v:mid="139" v:groupcontext="shape" transform="translate(704.165,-61.5082)">		<title>Sheet.139</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape141-251" v:mid="141" v:groupcontext="shape" transform="translate(814.347,-42)">		<title>Sheet.141</title>		<desc>RTSP 接收端口</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="257.375" width="90.01" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L87 285.5 A3.00007 3.00007 -180 0 0 90 282.5 L90 232.25 A3.00007					 3.00007 -180 0 0 87 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 0 232.25 L0 282.5 Z" class="st5"></path>		<text x="9.91" y="260.98" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>RTSP <tspan class="st13">接收端口</tspan></text>		</g>	<g id="shape143-255" v:mid="143" v:groupcontext="shape" transform="translate(799.347,-70.125)">		<title>Sheet.143</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape144-258" v:mid="144" v:groupcontext="shape" transform="translate(809.165,-67.1332)">		<title>Sheet.144</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape146-260" v:mid="146" v:groupcontext="shape" transform="translate(139.348,-42)">		<title>Sheet.146</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="33.75" cy="257.375" width="67.51" height="56.25"></v:textrect>		<path d="M0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L64.5 285.5 A3.00007 3.00007 -180 0 0 67.5 282.5 L67.5 232.25 A3.00007					 3.00007 -180 0 0 64.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st5"></path>		<text x="11.85" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="shape148-263" v:mid="148" v:groupcontext="shape" transform="translate(124.348,-70.125)">		<title>Sheet.148</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape149-266" v:mid="149" v:groupcontext="shape" transform="translate(134.167,-67.1332)">		<title>Sheet.149</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape151-268" v:mid="151" v:groupcontext="shape" transform="translate(221.847,-42)">		<title>Sheet.151</title>		<desc>tee</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="26.25" cy="257.375" width="52.51" height="56.25"></v:textrect>		<path d="M-0 282.5 A3.00007 3.00007 -180 0 0 3 285.5 L49.5 285.5 A3.00007 3.00007 -180 0 0 52.5 282.5 L52.5 232.25 A3.00007					 3.00007 -180 0 0 49.5 229.25 L3 229.25 A3.00007 3.00007 -180 0 0 -0 232.25 L0 282.5 Z" class="st5"></path>		<text x="18.97" y="260.97" class="st9" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>tee</text>		</g>	<g id="shape153-271" v:mid="153" v:groupcontext="shape" transform="translate(206.847,-70.125)">		<title>Sheet.153</title>		<path d="M0 285.5 L10.69 285.5" class="st7"></path>	</g>	<g id="shape154-274" v:mid="154" v:groupcontext="shape" transform="translate(216.666,-67.1332)">		<title>Sheet.154</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape157-276" v:mid="157" v:groupcontext="shape" transform="translate(274.309,-91.5921)">		<title>Sheet.157</title>		<path d="M0 285.5 L430.73 285.5" class="st7"></path>	</g>	<g id="shape158-279" v:mid="158" v:groupcontext="shape" transform="translate(704.165,-88.6003)">		<title>Sheet.158</title>		<path d="M0 285.5 L5.18 282.51 L0 279.52 L0 285.5 Z" class="st10"></path>	</g>	<g id="shape159-281" v:mid="159" v:groupcontext="shape" transform="translate(15.0022,-57.0302)">		<title>Sheet.159</title>		<ellipse cx="15" cy="270.5" rx="15" ry="15" class="st3"></ellipse>	</g>	<g id="shape160-283" v:mid="160" v:groupcontext="shape" transform="translate(24.3772,-66.4052)">		<title>Sheet.160</title>		<ellipse cx="5.625" cy="279.875" rx="5.625" ry="5.625" class="st3"></ellipse>	</g>	<g id="shape161-285" v:mid="161" v:groupcontext="shape" transform="translate(20.6272,-49.5302)">		<title>Sheet.161</title>		<path d="M0 285.5 L18.75 285.5 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L18.75 285.5" class="st4"></path>	</g>	<g id="shape162-288" v:mid="162" v:groupcontext="shape" transform="translate(30.0022,-49.5302)">		<title>Sheet.162</title>		<path d="M0 285.5 L0 278 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L0 278" class="st4"></path>	</g>	<g id="shape163-291" v:mid="163" v:groupcontext="shape" transform="translate(926.998,-67.2735)">		<title>Sheet.163</title>		<path d="M0 277.47 C0 276.85 0.51 276.34 1.13 276.34 C1.33 276.34 1.54 276.4 1.71 276.51 L7.21 279.88 C7.74 280.21 7.9					 280.9 7.58 281.43 C7.49 281.58 7.36 281.71 7.21 281.8 L1.71 285.18 C1.18 285.5 0.49 285.33 0.17 284.8 C0.06					 284.63 0 284.42 0 284.22 L0 277.47 Z" class="st3"></path>	</g>	<g id="shape164-293" v:mid="164" v:groupcontext="shape" transform="translate(922.498,-55.4317)">		<title>Sheet.164</title>		<path d="M0 285.5 L15 285.5 L0 285.5 Z" class="st12"></path>		<path d="M0 285.5 L15 285.5" class="st4"></path>	</g>	<g id="shape165-296" v:mid="165" v:groupcontext="shape" transform="translate(914.998,-61.4317)">		<title>Sheet.165</title>		<path d="M-0 284 A1.50003 1.50003 -180 0 0 1.5 285.5 L28.5 285.5 A1.50003 1.50003 -180 0 0 30 284 L30 266 A1.50003 1.50003					 -180 0 0 28.5 264.5 L1.5 264.5 A1.50003 1.50003 -180 0 0 -0 266 L0 284 Z" class="st3"></path>	</g>	<g id="group173-298" transform="translate(834.873,-13.2814)" v:mid="173" v:groupcontext="group">		<title>Sheet.173</title>		<g id="shape168-299" v:mid="168" v:groupcontext="shape" transform="translate(15.1883,0)">			<title>Sheet.168</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="25.9032" cy="279.2" width="51.81" height="12.6"></v:textrect>			<rect x="0" y="272.9" width="51.8063" height="12.6" class="st14"></rect>			<text x="0" y="282.35" class="st15" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape169-302" v:mid="169" v:groupcontext="shape" transform="translate(6.29496E-14,-0.218619)">			<title>Sheet.169</title>			<path d="M0 284 A1.50003 1.50003 -180 0 0 1.5 285.5 L10.5 285.5 A1.50003 1.50003 -180 0 0 12 284 L12 275 A1.50003						 1.50003 -180 0 0 10.5 273.5 L1.5 273.5 A1.50003 1.50003 -180 0 0 0 275 L0 284 Z" class="st8"></path>		</g>		<g id="shape171-304" v:mid="171" v:groupcontext="shape" transform="translate(89.1247,0)">			<title>Sheet.171</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="279.2" width="21" height="12.6"></v:textrect>			<rect x="0" y="272.9" width="21" height="12.6" class="st14"></rect>			<text x="0" y="282.69" class="st16" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape172-307" v:mid="172" v:groupcontext="shape" transform="translate(73.9363,-0.218619)">			<title>Sheet.172</title>			<path d="M0 284 A1.50003 1.50003 -180 0 0 1.5 285.5 L10.5 285.5 A1.50003 1.50003 -180 0 0 12 284 L12 275 A1.50003						 1.50003 -180 0 0 10.5 273.5 L1.5 273.5 A1.50003 1.50003 -180 0 0 0 275 L0 284 Z" class="st5"></path>		</g>	</g></g>
</svg>

## 示例模型和标签文件

| Runtime | 模型文件 | 标签文件 |
| --- | --- | --- |
| Qualcomm Neural Processing SDK | <ul class="ul" id="ai-usb-camera__ul_jsj_4bp_tfc"><br>                                    <li class="li"><em class="ph i">yolonas.dlc</em></li><br><br>                                    <li class="li"><em class="ph i">yolov5.dlc</em></li><br><br>                                    <li class="li"><em class="ph i">yolov8.dlc</em></li><br><br>                                </ul> | <ul class="ul" id="ai-usb-camera__ul_qhr_1qq_32c"><br>                                    <li class="li"><em class="ph i">yolonas.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolov8.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolov5.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolox.json</em></li><br><br>                                </ul> |
| LiteRT | <ul class="ul" id="ai-usb-camera__ul_rhr_1qq_32c"><br>                                    <li class="li"><br>                                        <em class="ph i">yolov8_det_quantized.tflite</em></li><br><br>                                    <li class="li"><em class="ph i">yolonas_quantized.tflite</em></li><br><br>                                    <li class="li"><em class="ph i">yolov5.tflite</em></li><br><br>                                    <li class="li"><em class="ph i">yolox_quantized.tflite</em></li><br><br>                                </ul> | <ul class="ul" id="ai-usb-camera__ul_qhr_1qq_32c"><br>                                    <li class="li"><em class="ph i">yolonas.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolov8.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolov5.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolox.json</em></li><br><br>                                </ul> |
| Qualcomm AI Engine Direct | *yolov8\_det\_quantized.bin* | <ul class="ul" id="ai-usb-camera__ul_qhr_1qq_32c"><br>                                    <li class="li"><em class="ph i">yolonas.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolov8.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolov5.json</em></li><br><br>                                    <li class="li"><em class="ph i">yolox.json</em></li><br><br>                                </ul> |
|  |  |  |
|  |  |  |

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

示例应用程序使用 /etc/configs/config-usb-camera-app.json文件读取输入参数。确保使用 config JSON 文件运行应用程序。

要创建自己的 config JSON 文件，请使用 [config-usb-camera-app.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-usb-camera-app/config-usb-camera-app.json?ref_type=heads) 作为参考。

1. 确保将 USB 网络摄像头连接到目标设备并完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/download-model-and-label-files.html)。
Note: 如果目标设备上未检测到 USB 摄像头，请下载所需的固件。请参阅[下载 PCIe 转 USB 控制器固件](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-8/pcie.html#download-pcie-to-usb-controller-firmware)。

Note: 对于 USB 摄像头输入，在配置文件中设置
                            `video-format`、`resolution` 和
                            `framerate` 参数以匹配摄像头的功能。要查看摄像头功能，请参阅[配置 USB 摄像头](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-8/usb.html#configure-usb-camera)。
2. 根据模型、输入流和其他属性更新 config JSON 文件。关于更多详细信息，请参阅 [Config JSON 字段说明](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html#ai-usb-camera__section_qjx_hqq_32c)。
3. 使用以下格式的 /etc/configs/config-usb-camera-app.json文件：

        {
          "width": "<Supported USB camera width>",
          "height": "<Supported USB camera Height>",
          "framerate": "<Supported USB camera fps>",
          "video-format": "<Supported USB camera video format like yuy2, mjpeg, nv12>",
          "output": "<output type like waylandsink, filesink or rtspsink>",
          "ip-address":"<Device IP address in case of rtsp streaming>",
          "port":"<Device port num in case of rtsp streaming>",
          "enable-object-detection": "<to enable the object-detection>",
          "file-path": "<input video path>",
          "ml-framework": "<snpe, or tflite or qnn framework>",
          "yolo-model-type": "<yolov8 or yolonas or yolov5 or yolox>",
          "model": "<Model Path>",
          "labels": "<Label Path>",
          "threshold": "<Post-processing threshold, integer value from 1-100>",
          "runtime": "<dsp, cpu or gpu runtime>",
          "snpe-layers": "<Model output layer name>"
         }Copy to clipboard

    例如，使用 RTSP 输入、LiteRT、YOLOx 模型、DSP runtime 和自定义阈值运行应用程序。参考配置文件如下：

         {
          "width": 1920,
          "height": 1080,
          "framerate": 30,
          "output":"waylandsink",
          "video-format":"yuy2",
          "model":"/etc/models/yolox_quantized.tflite",
          "labels":"/etc/labels/yolox.json",
          "output-file":"/etc/media/output.mp4",
          "ip-address":"127.0.0.1",
          "port":"8900",
          "enable-object-detection": "TRUE",
          "ml-framework": "tflite",
          "yolo-model-type": "yolox",
          "threshold": 75,
          "runtime": "dsp"
        }Copy to clipboard
4. 运行 gst-ai-usb-camera-app 应用程序：

        gst-ai-usb-camera-app --config-file=/etc/configs/config-usb-camera-app.jsonCopy to clipboard

Note: 您可以在 `yolo-model-type`字段中使用 YOLOv8 值来运行 Yolo-NAS-Quantized.tflite 模型。
5. 要显示可用的帮助选项，请在 SSH shell 中运行以下命令：

        gst-ai-usb-camera-app -hCopy to clipboard
6. 要停止用例，请按 CTRL +
                            C。

## 预期输出

下表列出了每个用例的预期输出：

Table : gst-usb-single-camera-app 的预期输出

| 用例 | 输出 |
| :--- | :--- |
| 预览 | 摄像头流的预览。参见 [Figure : gst-ai-usb-camera-app 应用程序的预期输出 - 预览](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html#ai-usb-camera__fig_ihh_tqq_5bc)。 |
| 保存 MP4 | 将输出保存到 /etc/media/video.mp4文件夹路径中的文件中。 |
| RTSP | 通过网络传输输出流。 |
| 目标检测 | 参见 [Figure : gst-ai-usb-camera-app 应用程序的预期输出 - 目标检测](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html#ai-usb-camera__fig_rfc_yfd_5bc)。 |

Figure : gst-ai-usb-camera-app 应用程序的预期输出 - 预览
                
                ![](data:image/png;base64,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)

Figure : gst-ai-usb-camera-app 应用程序的预期输出 - 目标检测
                
                ![](data:image/png;base64,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)

## Pipeline 流

下表列出了 AI USB 摄像头 pipeline 中使用的插件：

| Pipeline | 说明 |
| --- | --- |
| 将 USB 摄像头 dump 到 filesink | <ol class="ol" id="ai-usb-camera__ol_zkf_sf2_ncc"><br>                                    <li class="li">USB 摄像头采集摄像头实时流。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html">qtivtransform</a> 转换流数据。</li><br><br>                                    <li class="li">Capsfilter 用于对原始视频数据实施约束。</li><br><br>                                    <li class="li">Filesink 用于将数据 dump 到文件中。</li><br><br>                                </ol> |
| 视频编码 | <ol class="ol" id="ai-usb-camera__ol_fhg_wls_nbc"><br>                                    <li class="li">USB 摄像头采集摄像头实时流。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html">qtivtransform</a> 转换流数据。</li><br><br>                                    <li class="li">Capsfilter 用于对原始视频数据实施约束。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h264enc.html">v4l2h264enc</a> 使用 H.264 格式对视频进行编码。</li><br><br>                                    <li class="li">H264parse 用于渲染视频。</li><br><br>                                    <li class="li">Mp4mux 用于将视频复用到 MP4 容器中。</li><br><br>                                    <li class="li">Filesink 用于将视频写入文件。</li><br><br>                                </ol> |
| RTSP 流 | <ol class="ol" id="ai-usb-camera__ol_ckj_pf2_ncc"><br>                                    <li class="li">USB 摄像头采集摄像头实时流。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html">qtivtransform</a> 转换流数据。</li><br><br>                                    <li class="li">Capsfilter 用于对原始视频数据实施约束。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h264enc.html">v4l2h264enc</a> 使用 H.264 格式对视频进行编码。</li><br><br>                                    <li class="li">H264parse 用于渲染视频。</li><br><br>                                    <li class="li">qtirtspbin 用于将流加载至 RTSP。 </li><br><br>                                </ol> |
| RTSP 上的 USB 摄像头和目标检测 | <ol class="ol" id="ai-usb-camera__ol_gfw_124_4fc"><br>                                    <li class="li">USB 摄像头采集摄像头实时流。</li><br><br>                                    <li class="li">Capsfilter 用于对原始视频数据实施约束。</li><br><br>                                    <li class="li">tee 用于拆分流以进行推理。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html">qtivtransform</a> 转换流数据。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvconverter.html">qtimlvconverter</a> 执行预处理并将视频流转换为用于推理的张量流。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlsnpe.html">qtimlsnpe</a>、<a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimltflite.html">qtimltflite</a> 或 <a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlqnn.html">qtimlqnn</a> 对该流运行推理。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvdetection.html">qtimlvdetection</a> 处理来自任意目标检测模型的推理结果并生成视频帧。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivcomposer.html">qtivcomposer</a> 将合成视频帧并与 qtirtspsink 共享。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtirtspbin.html">qtirtspbin</a> 将合成后的视频流提交至 Weston，由其在本地显示器上渲染。</li><br><br>                                </ol> |
| wayland 上的 USB 摄像头和目标检测 | <ol class="ol" id="ai-usb-camera__ol_oct_vln_42c"><br>                                    <li class="li">USB 摄像头采集摄像头实时流。</li><br><br>                                    <li class="li">Capsfilter 用于对原始视频数据实施约束。</li><br><br>                                    <li class="li">tee 用于拆分流以进行推理。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html">qtivtransform</a> 转换流数据。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvconverter.html">qtimlvconverter</a> 执行预处理并将视频流转换为用于推理的张量流。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlsnpe.html">qtimlsnpe</a>、<a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimltflite.html">qtimltflite</a> 或 <a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlqnn.html">qtimlqnn</a> 对该流运行推理。</li><br><br>                                    <li class="li">qtimlpostprocess 处理来自任意目标检测模型的推理结果并生成视频帧。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivcomposer.html">qtivcomposer</a> 合成视频帧并与 Waylandsink 共享。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html">Waylandsink</a> 将合成后的视频流提交至 Weston，由其在本地显示器上渲染。</li><br><br>                                </ol> |
| 使用 USB 摄像头进行目标检测并进行文件编码 | <ol class="ol" id="ai-usb-camera__ol_or3_cf4_4fc"><br>                                    <li class="li">USB 摄像头采集摄像头实时流。</li><br><br>                                    <li class="li">Capsfilter 用于对原始视频数据实施约束。</li><br><br>                                    <li class="li">tee 用于拆分流以进行推理。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivtransform.html">qtivtransform</a> 转换流数据。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlvconverter.html">qtimlvconverter</a> 执行预处理并将视频流转换为用于推理的张量流。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlsnpe.html">qtimlsnpe</a>、<a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimltflite.html">qtimltflite</a> 或 <a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtimlqnn.html">qtimlqnn</a> 对该流运行推理。</li><br><br>                                    <li class="li">qtimlpostprocess 处理来自任意目标检测模型的推理结果并生成视频帧。</li><br><br>                                    <li class="li"><a href="https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivcomposer.html">qtivcomposer</a> 合成视频帧并与 Waylandsink 共享。</li><br><br>                                    <li class="li">Filesink 将合成后的视频流提交至 Weston，由其在本地显示器上渲染。</li><br><br>                                </ol> |

## Config JSON 字段说明

可用于配置 JSON 文件和运行用例的不同参数如下：

Table : 字段说明 – config_detection.json 文件

| 字段 | 值/描述 |
| :--- | :--- |
| **ml-framework** | 请使用以下模型之一：<ul class="ul" id="ai-usb-camera__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> |
| **yolo-model-type** | 分别运行 `yolov5`、`yolov8` 和 `yolonas` 模型。参见[示例模型和标签文件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-usb-camera.html#ai-usb-camera__section_ohr_1qq_32c)。 |
| **runtime** | 请使用以下 runtime 之一：<ul class="ul" id="ai-usb-camera__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> |
| **output** | <ul class="ul" id="ai-usb-camera__ul_v54_pg4_4fc"><br>                                    <li class="li"><code class="ph codeph">filesink</code></li><br><br>                                    <li class="li"><code class="ph codeph">waylandsink</code></li><br><br>                                    <li class="li"><code class="ph codeph">rtspsink</code></li><br><br>                                </ul> |
| **enable-object-detection** | <ul class="ul" id="ai-usb-camera__ul_cvn_rg4_4fc"><br>                                    <li class="li"><code class="ph codeph">TRUE</code></li><br><br>                                    <li class="li"><code class="ph codeph">FALSE</code></li><br><br>                                </ul> |
| **snpe-layers** | `[“output-layer-name”,”output-layer-name”]` |
| **USB camera video-format and resolution** | 使用以下视频格式之一：<br><ul class="ul" id="ai-usb-camera__ul_rty_hww_ngc"><br>                                    <li class="li"><code class="ph codeph">nv12</code></li><br><br>                                    <li class="li"><code class="ph codeph">yuy2</code></li><br><br>                                    <li class="li"><code class="ph codeph">mjpeg</code></li><br><br>                                </ul><br><br>                                <br>使用以下分辨率参数：<br><ul class="ul" id="ai-usb-camera__ul_dfz_lww_ngc"><br>                                    <li class="li"><code class="ph codeph">width</code>：输入 USB 摄像头源分辨率宽度。</li><br><br>                                    <li class="li"><code class="ph codeph">height</code>：输入 USB 摄像头源分辨率高度。</li><br><br>                                    <li class="li"><code class="ph codeph">framerate</code>：输入 USB 摄像头源帧率。</li><br><br>                                </ul> |

## 相关信息

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

**Parent Topic:** [运行 AI/ML 示例应用程序](https://docs.qualcomm.com/doc/80-70022-50SC/topic/ai-ml-sample-applications.html)

Last Published: Nov 05, 2025

[Previous Topic
AI 事件编码器](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/gst-ai-event-encoder.md) [Next Topic
硬件基准测试应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/vision_ai_demo_app.md)