# 视频合成

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-weston-composition-example.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-weston-composition-example.html)

**gst-weston-composition-example** 应用程序可以通过画中画 (PiP) 或并排显示格式，在屏幕上排列实时摄像头输入或离线文件。该应用程序的用例包括视频会议和在线教育课程。

`gst-weston-composition-example`应用程序使用了多个 pipeline 和元素。关于更多详细信息，请参阅 [Pipeline 流](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-weston-composition-example.html#gst-weston-composition-example__section_wng_xcv_4bc)。

Figure : gst-weston-composition-example 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 gst_weston_composition_example_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="11.1465in" height="5.93468in" viewbox="0 0 802.551 427.297" xml:space="preserve" color-interpolation-filters="sRGB" class="st17"><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: #2a2aea; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: #ffffff; font-family: SimHei; font-size: 1.00001em }
.svg-1 .st5 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st6 { fill: #000000; font-family: Roboto; font-size: 1.00001em }
.svg-1 .st7 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st8 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st9 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st10 { fill: #000000; font-family: Roboto; font-size: 1.00001em; font-weight: bold }
.svg-1 .st11 { font-family: SimHei; font-size: 1em }
.svg-1 .st12 { fill: none }
.svg-1 .st13 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st14 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st15 { fill: #000000; font-family: Roboto; font-size: 0.874992em }
.svg-1 .st16 { fill: #000000; font-family: SimHei; font-size: 0.874992em }
.svg-1 .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_1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="group1-1" v:mid="1" v:groupcontext="group">		<title>Sheet.1</title>		<g id="shape2-2" v:mid="2" v:groupcontext="shape" transform="translate(0.375086,-0.37504)">			<title>Sheet.2</title>			<path d="M0 421.67 A5.62513 5.62513 -180 0 0 5.62 427.3 L796.18 427.3 A5.62513 5.62513 -180 0 0 801.8 421.67 L801.8						 6.38 A5.62513 5.62513 -180 0 0 796.18 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 -0 6.38 L0 421.67 Z" class="st1"></path>		</g>		<g id="shape3-4" v:mid="3" v:groupcontext="shape">			<title>Sheet.3</title>			<path d="M796.55 0.75 C799.45 0.75 801.8 3.11 801.8 6 L801.8 421.3 C801.8 424.19 799.45 426.55 796.55 426.55 L6 426.55						 C3.11 426.55 0.75 424.19 0.75 421.3 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L796.55 0.75 ZM796.55 0 L6 0						 C2.69 0 0 2.69 0 6 L0 421.3 C0 424.61 2.69 427.3 6 427.3 L796.55 427.3 C799.86 427.3 802.55 424.61 802.55						 421.3 L802.55 6 C802.55 2.69 799.86 0 796.55 0 Z" class="st2"></path>		</g>	</g>	<g id="shape4-6" v:mid="4" v:groupcontext="shape" transform="translate(15,-355.449)">		<title>Sheet.4</title>		<desc>数据采集</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st3"></path>		<text x="27.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>数据采集</text>		</g>	<g id="shape6-9" v:mid="6" v:groupcontext="shape" transform="translate(16.9345,-399.577)">		<title>Sheet.6</title>		<desc>qtiqmmfsrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="49.5" cy="420.097" width="99" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="99" height="14.4" class="st5"></rect>		<text x="18.4" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtiqmmfsrc</text>		</g>	<g id="shape7-12" v:mid="7" v:groupcontext="shape" transform="translate(136.601,-355.449)">		<title>Sheet.7</title>		<desc>过滤器</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="33.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>过滤器</text>		</g>	<g id="group8-15" transform="translate(240.159,-373.276)" v:mid="8" v:groupcontext="group">		<title>Sheet.8</title>		<g id="shape9-16" v:mid="9" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.9</title>			<path d="M0 427.3 L254.85 427.3" class="st8"></path>		</g>		<g id="shape10-19" v:mid="10" v:groupcontext="shape" transform="translate(253.977,-5.68434E-14)">			<title>Sheet.10</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape11-21" v:mid="11" v:groupcontext="shape" transform="translate(500.31,-276.12)">		<title>Sheet.11</title>		<desc>合成</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="366.814" width="102.87" height="120.966"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 309.33					 A3.00007 3.00007 -180 0 0 99.87 306.33 L3 306.33 A3.00007 3.00007 -180 0 0 -0 309.33 L0 424.3 Z" class="st3"></path>		<text x="39.43" y="370.41" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>合成</text>		</g>	<g id="shape12-24" v:mid="12" v:groupcontext="shape" transform="translate(621.317,-276.12)">		<title>Sheet.12</title>		<desc>写入</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="366.814" width="102.87" height="120.966"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 309.33					 A3.00007 3.00007 -180 0 0 99.87 306.33 L3 306.33 A3.00007 3.00007 -180 0 0 -0 309.33 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="370.41" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>写入</text>		</g>	<g id="group14-27" transform="translate(603.179,-373.276)" v:mid="14" v:groupcontext="group">		<title>Sheet.14</title>		<g id="shape15-28" v:mid="15" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.15</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape16-31" v:mid="16" v:groupcontext="shape" transform="translate(11.9637,-5.68434E-14)">			<title>Sheet.16</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape19-33" v:mid="19" v:groupcontext="shape" transform="translate(137.487,-399.577)">		<title>Sheet.19</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="50.5484" cy="420.097" width="101.1" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="101.097" height="14.4" class="st5"></rect>		<text x="25.52" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="shape20-36" v:mid="20" v:groupcontext="shape" transform="translate(502.244,-399.577)">		<title>Sheet.20</title>		<desc>qtivcomposer</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="49.5" cy="420.097" width="99" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="99" height="14.4" class="st5"></rect>		<text x="12.85" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer</text>		</g>	<g id="shape21-39" v:mid="21" v:groupcontext="shape" transform="translate(499.5,-255.467)">		<title>Sheet.21</title>		<desc>qtivcomposer 合成</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="112.5" cy="420.097" width="225" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="225" height="14.4" class="st5"></rect>		<text x="61.92" y="424.09" class="st10" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtivcomposer <tspan class="st11">合成</tspan></text>		</g>	<g id="shape22-43" v:mid="22" v:groupcontext="shape" transform="translate(623.251,-399.577)">		<title>Sheet.22</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="49.5" cy="420.097" width="99" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="99" height="14.4" class="st5"></rect>		<text x="15.76" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="group23-46" transform="translate(118.604,-373.276)" v:mid="23" v:groupcontext="group">		<title>Sheet.23</title>		<g id="shape24-47" v:mid="24" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.24</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape25-50" v:mid="25" v:groupcontext="shape" transform="translate(11.9637,-5.68434E-14)">			<title>Sheet.25</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape26-52" v:mid="26" v:groupcontext="shape" transform="translate(15,-276.12)">		<title>Sheet.26</title>		<desc>读取</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>读取</text>		</g>	<g id="shape28-55" v:mid="28" v:groupcontext="shape" transform="translate(24.4095,-320.131)">		<title>Sheet.28</title>		<desc>filesrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="42.025" cy="420.097" width="84.05" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="84.05" height="14.4" class="st5"></rect>		<text x="25.59" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesrc</text>		</g>	<g id="shape29-58" v:mid="29" v:groupcontext="shape" transform="translate(258.297,-276.12)">		<title>Sheet.29</title>		<desc>解析</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解析</text>		</g>	<g id="shape30-61" v:mid="30" v:groupcontext="shape" transform="translate(136.601,-276.12)">		<title>Sheet.30</title>		<desc>解复用</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="33.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解复用</text>		</g>	<g id="group31-64" transform="translate(240.159,-293.947)" v:mid="31" v:groupcontext="group">		<title>Sheet.31</title>		<g id="shape32-65" v:mid="32" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.32</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape33-68" v:mid="33" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.33</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape35-70" v:mid="35" v:groupcontext="shape" transform="translate(379.303,-276.12)">		<title>Sheet.35</title>		<desc>解码</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解码</text>		</g>	<g id="group36-73" transform="translate(361.166,-293.947)" v:mid="36" v:groupcontext="group">		<title>Sheet.36</title>		<g id="shape37-74" v:mid="37" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.37</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape38-77" v:mid="38" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.38</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="group40-79" transform="translate(482.172,-293.947)" v:mid="40" v:groupcontext="group">		<title>Sheet.40</title>		<g id="shape41-80" v:mid="41" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.41</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape42-83" v:mid="42" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.42</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape44-85" v:mid="44" v:groupcontext="shape" transform="translate(146.01,-320.248)">		<title>Sheet.44</title>		<desc>qtdemux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="42.025" cy="420.097" width="84.05" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="84.05" height="14.4" class="st5"></rect>		<text x="18.55" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtdemux</text>		</g>	<g id="shape45-88" v:mid="45" v:groupcontext="shape" transform="translate(255.706,-320.248)">		<title>Sheet.45</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="54.025" cy="420.097" width="108.06" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="108.05" height="14.4" class="st5"></rect>		<text x="25.68" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="shape46-91" v:mid="46" v:groupcontext="shape" transform="translate(377.697,-320.248)">		<title>Sheet.46</title>		<desc>v4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="53.0408" cy="420.097" width="106.09" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="106.082" height="14.4" class="st5"></rect>		<text x="18.82" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2h264dec</text>		</g>	<g id="group47-94" transform="translate(118.604,-293.947)" v:mid="47" v:groupcontext="group">		<title>Sheet.47</title>		<g id="shape48-95" v:mid="48" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.48</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape49-98" v:mid="49" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.49</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape50-100" v:mid="50" v:groupcontext="shape" transform="translate(15,-140.878)">		<title>Sheet.50</title>		<desc>数据采集</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st3"></path>		<text x="27.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>数据采集</text>		</g>	<g id="shape52-103" v:mid="52" v:groupcontext="shape" transform="translate(16.9345,-187.392)">		<title>Sheet.52</title>		<desc>qtiqmmfsrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="49.5" cy="420.097" width="99" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="99" height="14.4" class="st5"></rect>		<text x="18.4" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtiqmmfsrc</text>		</g>	<g id="shape53-106" v:mid="53" v:groupcontext="shape" transform="translate(136.601,-140.878)">		<title>Sheet.53</title>		<desc>过滤器</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="33.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>过滤器</text>		</g>	<g id="group54-109" transform="translate(240.159,-158.704)" v:mid="54" v:groupcontext="group">		<title>Sheet.54</title>		<g id="shape55-110" v:mid="55" v:groupcontext="shape" transform="translate(0,-2.99178)">			<title>Sheet.55</title>			<path d="M0 427.3 L375.86 427.3" class="st8"></path>		</g>		<g id="shape56-113" v:mid="56" v:groupcontext="shape" transform="translate(374.984,0)">			<title>Sheet.56</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape57-115" v:mid="57" v:groupcontext="shape" transform="translate(621.317,-61.5487)">		<title>Sheet.57</title>		<desc>写入</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="366.814" width="102.87" height="120.966"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 309.33					 A3.00007 3.00007 -180 0 0 99.87 306.33 L3 306.33 A3.00007 3.00007 -180 0 0 -0 309.33 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="370.41" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>写入</text>		</g>	<g id="shape60-118" v:mid="60" v:groupcontext="shape" transform="translate(137.487,-185.005)">		<title>Sheet.60</title>		<desc>capsfilter</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="50.5484" cy="420.097" width="101.1" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="101.097" height="14.4" class="st5"></rect>		<text x="25.52" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>capsfilter</text>		</g>	<g id="shape61-121" v:mid="61" v:groupcontext="shape" transform="translate(499.5,-40.8961)">		<title>Sheet.61</title>		<desc>Waylandsink 合成</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="112.5" cy="420.097" width="225" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="225" height="14.4" class="st5"></rect>		<text x="64.69" y="424.09" class="st10" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink <tspan class="st11">合成</tspan></text>		</g>	<g id="shape62-125" v:mid="62" v:groupcontext="shape" transform="translate(619.862,-185.005)">		<title>Sheet.62</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="52.8896" cy="420.097" width="105.78" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="105.779" height="14.4" class="st5"></rect>		<text x="19.15" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="group63-128" transform="translate(118.604,-158.704)" v:mid="63" v:groupcontext="group">		<title>Sheet.63</title>		<g id="shape64-129" v:mid="64" v:groupcontext="shape" transform="translate(0,-2.99178)">			<title>Sheet.64</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape65-132" v:mid="65" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.65</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape66-134" v:mid="66" v:groupcontext="shape" transform="translate(15,-61.5487)">		<title>Sheet.66</title>		<desc>读取</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>读取</text>		</g>	<g id="shape68-137" v:mid="68" v:groupcontext="shape" transform="translate(24.4095,-105.677)">		<title>Sheet.68</title>		<desc>filesrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="42.025" cy="420.097" width="84.05" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="84.05" height="14.4" class="st5"></rect>		<text x="25.59" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesrc</text>		</g>	<g id="shape69-140" v:mid="69" v:groupcontext="shape" transform="translate(258.297,-61.5487)">		<title>Sheet.69</title>		<desc>解析</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解析</text>		</g>	<g id="shape70-143" v:mid="70" v:groupcontext="shape" transform="translate(136.601,-61.5487)">		<title>Sheet.70</title>		<desc>解复用</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="33.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解复用</text>		</g>	<g id="group71-146" transform="translate(240.159,-79.3756)" v:mid="71" v:groupcontext="group">		<title>Sheet.71</title>		<g id="shape72-147" v:mid="72" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.72</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape73-150" v:mid="73" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.73</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape75-152" v:mid="75" v:groupcontext="shape" transform="translate(379.303,-61.5487)">		<title>Sheet.75</title>		<desc>解码</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="51.4345" cy="406.478" width="102.87" height="41.6374"></v:textrect>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L99.87 427.3 A3.00007 3.00007 -180 0 0 102.87 424.3 L102.87 388.66					 A3.00007 3.00007 -180 0 0 99.87 385.66 L3 385.66 A3.00007 3.00007 -180 0 0 0 388.66 L0 424.3 Z" class="st7"></path>		<text x="39.43" y="410.08" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解码</text>		</g>	<g id="group76-155" transform="translate(361.166,-79.3756)" v:mid="76" v:groupcontext="group">		<title>Sheet.76</title>		<g id="shape77-156" v:mid="77" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.77</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape78-159" v:mid="78" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.78</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="group80-161" transform="translate(482.172,-79.3756)" v:mid="80" v:groupcontext="group">		<title>Sheet.80</title>		<g id="shape81-162" v:mid="81" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.81</title>			<path d="M0 427.3 L133.85 427.3" class="st8"></path>		</g>		<g id="shape82-165" v:mid="82" v:groupcontext="shape" transform="translate(132.97,0)">			<title>Sheet.82</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape84-167" v:mid="84" v:groupcontext="shape" transform="translate(146.01,-105.677)">		<title>Sheet.84</title>		<desc>qtdemux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="42.025" cy="420.097" width="84.05" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="84.05" height="14.4" class="st5"></rect>		<text x="18.55" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtdemux</text>		</g>	<g id="shape85-170" v:mid="85" v:groupcontext="shape" transform="translate(255.706,-105.677)">		<title>Sheet.85</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="54.025" cy="420.097" width="108.06" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="108.05" height="14.4" class="st5"></rect>		<text x="25.68" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="shape86-173" v:mid="86" v:groupcontext="shape" transform="translate(381.238,-105.677)">		<title>Sheet.86</title>		<desc>v4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="49.5" cy="420.097" width="99" height="14.4"></v:textrect>		<rect x="0" y="412.897" width="99" height="14.4" class="st5"></rect>		<text x="15.28" y="423.7" class="st6" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2h264dec</text>		</g>	<g id="group87-176" transform="translate(118.604,-79.3756)" v:mid="87" v:groupcontext="group">		<title>Sheet.87</title>		<g id="shape88-177" v:mid="88" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.88</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape89-180" v:mid="89" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.89</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape90-182" v:mid="90" v:groupcontext="shape" transform="translate(724.186,-123.005)">		<title>Sheet.90</title>		<path d="M0 213.7 L18.15 213.7 L18.15 427.3 L0 427.3 L0 213.7 Z" class="st12"></path>		<path d="M0 213.7 L18.15 213.7 L18.15 427.3 L0 427.3" class="st8"></path>	</g>	<g id="group91-185" transform="translate(742.34,-226.812)" v:mid="91" v:groupcontext="group">		<title>Sheet.91</title>		<g id="shape92-186" v:mid="92" v:groupcontext="shape" transform="translate(0,-2.99181)">			<title>Sheet.92</title>			<path d="M0 427.3 L12.84 427.3" class="st8"></path>		</g>		<g id="shape93-189" v:mid="93" v:groupcontext="shape" transform="translate(11.9637,0)">			<title>Sheet.93</title>			<path d="M0 427.3 L5.18 424.31 L0 421.31 L0 427.3 Z" class="st9"></path>		</g>	</g>	<g id="shape94-191" v:mid="94" v:groupcontext="shape" transform="translate(760.367,-220.271)">		<title>Sheet.94</title>		<path d="M0 424.3 A3.00007 3.00007 -180 0 0 3 427.3 L23.45 427.3 A3.00007 3.00007 -180 0 0 26.45 424.3 L26.45 411.78					 A3.00007 3.00007 -180 0 0 23.45 408.78 L3 408.78 A3.00007 3.00007 -180 0 0 -0 411.78 L0 424.3 Z" class="st13"></path>	</g>	<g id="shape95-193" v:mid="95" v:groupcontext="shape" transform="translate(768.303,-214.981)">		<title>Sheet.95</title>		<path d="M0 427.3 L10.58 427.3" class="st14"></path>	</g>	<g id="shape96-196" v:mid="96" v:groupcontext="shape" transform="translate(1200.89,207.026) rotate(90)">		<title>Sheet.96</title>		<path d="M0 427.3 L5.29 427.3" class="st14"></path>	</g>	<g id="group121-199" transform="translate(676.694,-14.7814)" v:mid="121" v:groupcontext="group">		<title>Sheet.121</title>		<g id="shape99-200" v:mid="99" v:groupcontext="shape" transform="translate(15.1882,0)">			<title>Sheet.99</title>			<desc>Qualcomm</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="28.4926" cy="420.997" width="56.99" height="12.6"></v:textrect>			<rect x="0" y="414.697" width="56.9851" height="12.6" class="st5"></rect>			<text x="0" y="424.15" class="st15" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm  </text>			</g>		<g id="shape100-203" v:mid="100" v:groupcontext="shape" transform="translate(1.26898E-13,-0.21863)">			<title>Sheet.100</title>			<path d="M0 425.8 A1.50003 1.50003 -180 0 0 1.5 427.3 L10.5 427.3 A1.50003 1.50003 -180 0 0 12 425.8 L12 416.8 A1.50003						 1.50003 -180 0 0 10.5 415.3 L1.5 415.3 A1.50003 1.50003 -180 0 0 0 416.8 L0 425.8 Z" class="st3"></path>		</g>		<g id="shape102-205" v:mid="102" v:groupcontext="shape" transform="translate(89.1246,0)">			<title>Sheet.102</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="420.997" width="21.01" height="12.6"></v:textrect>			<rect x="0" y="414.697" width="21" height="12.6" class="st5"></rect>			<text x="0" y="424.15" class="st16" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape103-208" v:mid="103" v:groupcontext="shape" transform="translate(73.9363,-0.21863)">			<title>Sheet.103</title>			<path d="M0 425.8 A1.50003 1.50003 -180 0 0 1.5 427.3 L10.5 427.3 A1.50003 1.50003 -180 0 0 12 425.8 L12 416.8 A1.50003						 1.50003 -180 0 0 10.5 415.3 L1.5 415.3 A1.50003 1.50003 -180 0 0 0 416.8 L0 425.8 Z" class="st7"></path>		</g>	</g></g>
</svg>

## 运行应用程序

下表列出了 gst-weston-composition-example 应用程序支持的用例：| 用例 | 说明 |
| --- | --- |
| 视频会议 | <ul class="ul" id="gst-weston-composition-example__ul_wrw_5tf_4bc"><br>                                    <li class="li">同时显示来自多个参与者的多个视频流。 </li><br><br>                                    <li class="li">视频以 PiP 或并排格式显示。 </li><br><br>                                    <li class="li">这在多方视频会议场景中非常有用，此时该应用程序管理多个视频流。</li><br><br>                                </ul> |
| 在线教育 | 通过支持教学视频以 PiP 或并排方式显示，提升学习体验。 |

对于 PiP 和并排显示格式，您可以使用 [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivcomposer.html) 插件。执行以下操作以使用任一插件运行用例：

1. 确保您已完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/mm_sample_apps_prerequisites.html)。
2. 在目标设备上导入 `<h264_file>.mp4` 视频文件。
3. 在目标设备的终端中，运行以下任意用例：
    - 组成画中画：

            gst-weston-composition-example -t 0 -i /etc/media/<h264_file>.mp4Copy to clipboard

并排合成：

            gst-weston-composition-example -t 1 -i /etc/media/<h264_file>.mp4Copy to clipboard
4. 要停止用例，请使用 CTRL +
                    C。
5. 在目标设备的终端中，在 SSH shell 中运行以下命令以显示可用的帮助选项：

        gst-weston-composition-example --helpCopy to clipboard

下表提供了命令行参数的说明：| 命令行参数 | 说明 |
| --- | --- |
| `-t` | 指定合成类型：<ul class="ul" id="gst-weston-composition-example__ul_ssv_bgv_4bc"><br>                                    <li class="li"><code class="ph codeph">0</code>= 画中画</li><br><br>                                    <li class="li"><code class="ph codeph">1</code>= 并排</li><br><br>                                </ul> |
| `-i` | 指定输入视频文件的绝对路径。 |

## 预期输出

视频以画中画呈现，并在屏幕上并排显示。

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

## Pipeline 流

下表列出了用于运行视频合成 pipeline 的插件：| 插件 | 说明 |
| --- | --- |
| [qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtiqmmfsrc.html) | 从源采集视频。 |
| capsfilter | 过滤视频文件。 |
| filesrc | 读取视频数据。 |
| qtdemux | 对视频数据进行解复用。 |
| h264parse | 渲染 H.264 视频。 |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h264dec.html) | 从文件中解码 H.264 视频。 |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50SC/topic/qtivcomposer.html) | 合成解码的视频。 |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html) | 在 Wayland 显示器上合成和渲染视频。 |

## 相关信息

[视频合成用例](https://docs.qualcomm.com/doc/80-70022-50SC/topic/video-composition.html)

**Parent Topic:** [运行视频和音频的示例应用程序](https://docs.qualcomm.com/doc/80-70022-50SC/topic/audio-sample-applications.html)

Last Published: Nov 05, 2025

[Previous Topic
视频转换](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/gst-transform-example.md) [Next Topic
运行基于 Python 的应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/python-sample-applications.md)