# 多格式解码

Source: [https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-videocodec-concurrent-playback.html](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-videocodec-concurrent-playback.html)

**gst-videocodec-concurrent-playback** 应用程序支持 AVC（H.264）和 HEVC（H.265）视频的并发视频播放。它演示了 Qualcomm Linux 视频引擎的并发解码能力，可以同时处理不同的视频 codec。

如下图所示，示例应用程序使用 H.264 和 H.265 视频，两者都封装在 MP4 容器中。该 pipeline 包含多个用于并发视频播放的元素。有关这些元素的更多信息，请参见 [Pipeline 流](https://docs.qualcomm.com/doc/80-70022-50SC/topic/gst-videocodec-concurrent-playback.html#gst-concurrent-videoplayback__section_w2j_yvf_4bc)。

Figure : gst-videocodec-concurrent-playback 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_videocodec_concurrent_playback.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="10.4167in" height="2.91667in" viewbox="0 0 750 210" 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: none; stroke: #7c8aa3; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st4 { fill: #007884; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st5 { fill: #ffffff; font-family: SimHei; font-size: 1.00001em }
.svg-1 .st6 { fill: none; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st7 { fill: #000000; font-family: Roboto; font-size: 1.00001em }
.svg-1 .st8 { fill: #000000; font-family: SimHei; font-size: 1.00001em }
.svg-1 .st9 { fill: none; stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st10 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5 }
.svg-1 .st11 { fill: none }
.svg-1 .st12 { stroke: #ffffff; stroke-linecap: butt; stroke-width: 2.25 }
.svg-1 .st13 { stroke: #000000; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st14 { fill: #000000; stroke: none; stroke-linecap: butt; stroke-width: 0.75 }
.svg-1 .st15 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.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>	<v:layer v:name="Connector" v:index="0"></v:layer>	<g id="shape2-1" v:mid="2" v:groupcontext="shape" transform="translate(0.375137,-0.374725)">		<title>Sheet.2</title>		<path d="M0 204.37 A5.62513 5.62513 -180 0 0 5.63 210 L743.62 210 A5.62513 5.62513 -180 0 0 749.25 204.37 L749.25 6.37					 A5.62513 5.62513 -180 0 0 743.62 0.75 L5.62 0.75 A5.62513 5.62513 -180 0 0 -0 6.37 L0 204.37 Z" class="st1"></path>	</g>	<g id="shape3-3" v:mid="3" v:groupcontext="shape">		<title>Sheet.3</title>		<path d="M744 0.75 C746.89 0.75 749.25 3.11 749.25 6 L749.25 204 C749.25 206.89 746.89 209.25 744 209.25 L6 209.25 C3.11					 209.25 0.75 206.89 0.75 204 L0.75 6 C0.75 3.11 3.11 0.75 6 0.75 L744 0.75 ZM744 0 L6 0 C2.69 0 0 2.69 0					 6 L0 204 C0 207.31 2.69 210 6 210 L744 210 C747.31 210 750 207.31 750 204 L750 6 C750 2.69 747.31 0 744					 0 Z" class="st2"></path>	</g>	<g id="shape5-5" v:mid="5" v:groupcontext="shape" transform="translate(62.4148,-45.1214)">		<title>Sheet.5</title>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L110.52 210 A3.00007 3.00007 -180 0 0 113.52 207 L113.52 68.79 A3.00007					 3.00007 -180 0 0 110.52 65.79 L3 65.79 A3.00007 3.00007 -180 0 0 -0 68.79 L0 207 Z" class="st3"></path>	</g>	<g id="shape6-7" v:mid="6" v:groupcontext="shape" transform="translate(74.1769,-121.895)">		<title>Sheet.6</title>		<desc>视频数据</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="21" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>视频数据</text>		</g>	<g id="shape8-10" v:mid="8" v:groupcontext="shape" transform="translate(77.1769,-168.693)">		<title>Sheet.8</title>		<desc>filesrc</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="42" cy="202.8" width="84.01" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="84" height="14.4" class="st6"></rect>		<text x="25.56" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesrc</text>		</g>	<g id="shape9-13" v:mid="9" v:groupcontext="shape" transform="translate(317.25,-45.1214)">		<title>Sheet.9</title>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L110.52 210 A3.00007 3.00007 -180 0 0 113.52 207 L113.52 68.79 A3.00007					 3.00007 -180 0 0 110.52 65.79 L3 65.79 A3.00007 3.00007 -180 0 0 -0 68.79 L0 207 Z" class="st3"></path>	</g>	<g id="shape10-15" v:mid="10" v:groupcontext="shape" transform="translate(329.012,-168.693)">		<title>Sheet.10</title>		<desc>h264parse</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="202.8" width="90.01" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="90" height="14.4" class="st6"></rect>		<text x="16.65" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>h264parse</text>		</g>	<g id="shape11-18" v:mid="11" v:groupcontext="shape" transform="translate(16.7588,-83.5876)">		<title>Sheet.11</title>		<desc>MP4</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="13.5446" cy="202.8" width="27.09" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="27.0892" height="14.4" class="st6"></rect>		<text x="1.15" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>MP4</text>		</g>	<g id="shape12-21" v:mid="12" v:groupcontext="shape" transform="translate(329.012,-121.895)">		<title>Sheet.12</title>		<desc>解析</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="33" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解析</text>		</g>	<g id="shape14-24" v:mid="14" v:groupcontext="shape" transform="translate(74.1769,-55.8821)">		<title>Sheet.14</title>		<desc>视频数据</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="21" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>视频数据</text>		</g>	<g id="shape16-27" v:mid="16" v:groupcontext="shape" transform="translate(329.012,-55.8821)">		<title>Sheet.16</title>		<desc>解析</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="33" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解析</text>		</g>	<g id="shape18-30" v:mid="18" v:groupcontext="shape" transform="translate(696.191,-46.0524)">		<title>Sheet.18</title>		<desc>文件</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="13.6609" cy="202.8" width="27.33" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="27.3217" height="14.4" class="st6"></rect>		<text x="1.66" y="206.79" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>文件</text>		</g>	<g id="shape19-33" v:mid="19" v:groupcontext="shape" transform="translate(690.382,-112.235)">		<title>Sheet.19</title>		<desc>显示器</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="22.3426" cy="202.8" width="44.69" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="44.6852" height="14.4" class="st6"></rect>		<text x="4.34" y="206.79" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>显示器</text>		</g>	<g id="shape20-36" v:mid="20" v:groupcontext="shape" transform="translate(189.833,-45.1214)">		<title>Sheet.20</title>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L110.52 210 A3.00007 3.00007 -180 0 0 113.52 207 L113.52 68.79 A3.00007					 3.00007 -180 0 0 110.52 65.79 L3 65.79 A3.00007 3.00007 -180 0 0 -0 68.79 L0 207 Z" class="st3"></path>	</g>	<g id="shape21-38" v:mid="21" v:groupcontext="shape" transform="translate(201.595,-121.895)">		<title>Sheet.21</title>		<desc>解复用</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="27" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解复用</text>		</g>	<g id="shape23-41" v:mid="23" v:groupcontext="shape" transform="translate(204.595,-168.693)">		<title>Sheet.23</title>		<desc>qtdemux</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="42" cy="202.8" width="84.01" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="84" height="14.4" class="st6"></rect>		<text x="18.53" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>qtdemux</text>		</g>	<g id="shape24-44" v:mid="24" v:groupcontext="shape" transform="translate(201.595,-55.8821)">		<title>Sheet.24</title>		<desc>解复用</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="27" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解复用</text>		</g>	<g id="shape26-47" v:mid="26" v:groupcontext="shape" transform="translate(444.681,-45.1214)">		<title>Sheet.26</title>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L110.52 210 A3.00007 3.00007 -180 0 0 113.52 207 L113.52 68.79 A3.00007					 3.00007 -180 0 0 110.52 65.79 L3 65.79 A3.00007 3.00007 -180 0 0 -0 68.79 L0 207 Z" class="st3"></path>	</g>	<g id="shape27-49" v:mid="27" v:groupcontext="shape" transform="translate(457.745,-168.693)">		<title>Sheet.27</title>		<desc>v4l2h264dec</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="43.6987" cy="202.8" width="87.4" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="87.3974" height="14.4" class="st6"></rect>		<text x="9.48" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>v4l2h264dec</text>		</g>	<g id="shape28-52" v:mid="28" v:groupcontext="shape" transform="translate(456.443,-121.895)">		<title>Sheet.28</title>		<desc>解码</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="33" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解码</text>		</g>	<g id="shape30-55" v:mid="30" v:groupcontext="shape" transform="translate(456.443,-55.8821)">		<title>Sheet.30</title>		<desc>解码</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="33" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>解码</text>		</g>	<g id="shape32-58" v:mid="32" v:groupcontext="shape" transform="translate(563.426,-168.693)">		<title>Sheet.32</title>		<desc>Waylandsink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="66" cy="202.8" width="132.01" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="132" height="14.4" class="st6"></rect>		<text x="32.26" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Waylandsink</text>		</g>	<g id="shape33-61" v:mid="33" v:groupcontext="shape" transform="translate(584.426,-102.221)">		<title>Sheet.33</title>		<desc>filesink</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="202.8" width="90.01" height="14.4"></v:textrect>		<rect x="0" y="195.6" width="90" height="14.4" class="st6"></rect>		<text x="25.92" y="206.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>filesink</text>		</g>	<g id="shape34-64" v:mid="34" v:groupcontext="shape" transform="translate(584.426,-121.895)">		<title>Sheet.34</title>		<desc>显示器渲染</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="15" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>显示器渲染</text>		</g>	<g id="shape36-67" v:mid="36" v:groupcontext="shape" transform="translate(584.426,-55.8821)">		<title>Sheet.36</title>		<desc>写入</desc>		<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>		<v:textrect cx="45" cy="187.5" width="90.01" height="45"></v:textrect>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L87 210 A3.00007 3.00007 -180 0 0 90 207 L90 168 A3.00007 3.00007 -180					 0 0 87 165 L3 165 A3.00007 3.00007 -180 0 0 -0 168 L0 207 Z" class="st4"></path>		<text x="33" y="191.49" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>写入</text>		</g>	<g id="shape38-70" v:mid="38" v:groupcontext="shape" transform="translate(699.224,-134.211)">		<title>Sheet.38</title>		<path d="M0 207 A3.00007 3.00007 -180 0 0 3 210 L24 210 A3.00007 3.00007 -180 0 0 27 207 L27 194.1 A3.00007 3.00007 -180					 0 0 24 191.1 L3 191.1 A3.00007 3.00007 -180 0 0 0 194.1 L0 207 Z" class="st9"></path>	</g>	<g id="shape39-72" v:mid="39" v:groupcontext="shape" transform="translate(707.324,-128.811)">		<title>Sheet.39</title>		<path d="M0 210 L10.8 210" class="st10"></path>	</g>	<g id="shape40-75" v:mid="40" v:groupcontext="shape" transform="translate(922.724,75.7889) rotate(90)">		<title>Sheet.40</title>		<path d="M0 210 L5.4 210" class="st10"></path>	</g>	<g id="group41-78" transform="translate(55.416,-75.3903)" v:mid="41" v:groupcontext="group">		<title>Sheet.41</title>		<g id="shape42-79" v:mid="42" v:groupcontext="shape" transform="translate(1.29896E-13,-2.99179)">			<title>Sheet.42</title>			<path d="M18.84 210 L0 210 L0 143.99 L18.84 143.99 L18.84 210 Z" class="st11"></path>			<path d="M18.84 210 L0 210 L0 143.99 L18.84 143.99" class="st12"></path>		</g>		<g id="group43-82" transform="translate(9.91094E-07,-2.84217E-13)" v:mid="43" v:groupcontext="group">			<title>Sheet.43</title>			<g id="shape44-83" v:mid="44" v:groupcontext="shape" transform="translate(1.72862E-13,-2.99178)">				<title>Sheet.44</title>				<path d="M14.54 210 L0 210 L0 143.99 L14.54 143.99 L14.54 210 Z" class="st11"></path>				<path d="M14.54 210 L0 210 L0 143.99 L14.54 143.99" class="st13"></path>			</g>			<g id="shape45-86" v:mid="45" v:groupcontext="shape" transform="translate(13.662,0)">				<title>Sheet.45</title>				<path d="M0 204.02 L5.18 207.01 L0 210 L0 204.02 Z" class="st14"></path>			</g>			<g id="shape46-88" v:mid="46" v:groupcontext="shape" transform="translate(13.662,-66.013)">				<title>Sheet.46</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group47-90" transform="translate(164.177,-141.403)" v:mid="47" v:groupcontext="group">		<title>Sheet.47</title>		<g id="shape48-91" v:mid="48" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.48</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group49-94" transform="translate(2.61982E-06,-2.84217E-14)" v:mid="49" v:groupcontext="group">			<title>Sheet.49</title>			<g id="shape50-95" v:mid="50" v:groupcontext="shape" transform="translate(0,-2.99181)">				<title>Sheet.50</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape51-98" v:mid="51" v:groupcontext="shape" transform="translate(32.3189,-2.84217E-14)">				<title>Sheet.51</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group52-100" transform="translate(291.595,-141.403)" v:mid="52" v:groupcontext="group">		<title>Sheet.52</title>		<g id="shape53-101" v:mid="53" v:groupcontext="shape" transform="translate(4.21513E-07,-2.9918)">			<title>Sheet.53</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group54-104" v:mid="54" v:groupcontext="group">			<title>Sheet.54</title>			<g id="shape55-105" v:mid="55" v:groupcontext="shape" transform="translate(0,-2.99181)">				<title>Sheet.55</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape56-108" v:mid="56" v:groupcontext="shape" transform="translate(32.3189,-2.84217E-14)">				<title>Sheet.56</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group57-110" transform="translate(164.177,-75.3903)" v:mid="57" v:groupcontext="group">		<title>Sheet.57</title>		<g id="shape58-111" v:mid="58" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.58</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group59-114" transform="translate(2.61982E-06,0)" v:mid="59" v:groupcontext="group">			<title>Sheet.59</title>			<g id="shape60-115" v:mid="60" v:groupcontext="shape" transform="translate(0,-2.99178)">				<title>Sheet.60</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape61-118" v:mid="61" v:groupcontext="shape" transform="translate(32.3189,0)">				<title>Sheet.61</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group62-120" transform="translate(291.595,-75.3903)" v:mid="62" v:groupcontext="group">		<title>Sheet.62</title>		<g id="shape63-121" v:mid="63" v:groupcontext="shape" transform="translate(4.21513E-07,-2.99179)">			<title>Sheet.63</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group64-124" v:mid="64" v:groupcontext="group">			<title>Sheet.64</title>			<g id="shape65-125" v:mid="65" v:groupcontext="shape" transform="translate(0,-2.99178)">				<title>Sheet.65</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape66-128" v:mid="66" v:groupcontext="shape" transform="translate(32.3189,0)">				<title>Sheet.66</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group67-130" transform="translate(419.026,-141.403)" v:mid="67" v:groupcontext="group">		<title>Sheet.67</title>		<g id="shape68-131" v:mid="68" v:groupcontext="shape" transform="translate(1.78155E-05,-2.9918)">			<title>Sheet.68</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group69-134" v:mid="69" v:groupcontext="group">			<title>Sheet.69</title>			<g id="shape70-135" v:mid="70" v:groupcontext="shape" transform="translate(0,-2.99181)">				<title>Sheet.70</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape71-138" v:mid="71" v:groupcontext="shape" transform="translate(32.3189,-2.84217E-14)">				<title>Sheet.71</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group72-140" transform="translate(546.443,-141.403)" v:mid="72" v:groupcontext="group">		<title>Sheet.72</title>		<g id="shape73-141" v:mid="73" v:groupcontext="shape" transform="translate(0,-2.9918)">			<title>Sheet.73</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group74-144" transform="translate(1.34754E-05,-2.84217E-14)" v:mid="74" v:groupcontext="group">			<title>Sheet.74</title>			<g id="shape75-145" v:mid="75" v:groupcontext="shape" transform="translate(0,-2.99181)">				<title>Sheet.75</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape76-148" v:mid="76" v:groupcontext="shape" transform="translate(32.3188,-2.84217E-14)">				<title>Sheet.76</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group77-150" transform="translate(419.026,-75.3903)" v:mid="77" v:groupcontext="group">		<title>Sheet.77</title>		<g id="shape78-151" v:mid="78" v:groupcontext="shape" transform="translate(1.78155E-05,-2.99179)">			<title>Sheet.78</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group79-154" v:mid="79" v:groupcontext="group">			<title>Sheet.79</title>			<g id="shape80-155" v:mid="80" v:groupcontext="shape" transform="translate(0,-2.99178)">				<title>Sheet.80</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape81-158" v:mid="81" v:groupcontext="shape" transform="translate(32.3189,0)">				<title>Sheet.81</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="group82-160" transform="translate(546.443,-75.3903)" v:mid="82" v:groupcontext="group">		<title>Sheet.82</title>		<g id="shape83-161" v:mid="83" v:groupcontext="shape" transform="translate(0,-2.99179)">			<title>Sheet.83</title>			<path d="M0 210 L37.5 210" class="st12"></path>		</g>		<g id="group84-164" transform="translate(1.34754E-05,0)" v:mid="84" v:groupcontext="group">			<title>Sheet.84</title>			<g id="shape85-165" v:mid="85" v:groupcontext="shape" transform="translate(0,-2.99178)">				<title>Sheet.85</title>				<path d="M0 210 L33.19 210" class="st13"></path>			</g>			<g id="shape86-168" v:mid="86" v:groupcontext="shape" transform="translate(32.3188,0)">				<title>Sheet.86</title>				<path d="M0 210 L5.18 207.01 L0 204.02 L0 210 Z" class="st14"></path>			</g>		</g>	</g>	<g id="shape87-170" v:mid="87" v:groupcontext="shape" transform="translate(674.611,-144.395)">		<title>Sheet.87</title>		<path d="M0 210 L23.25 210" class="st13"></path>	</g>	<g id="shape88-173" v:mid="88" v:groupcontext="shape" transform="translate(674.611,-78.3821)">		<title>Sheet.88</title>		<path d="M0 210 L23.25 210" class="st13"></path>	</g>	<g id="group89-176" transform="translate(697.861,-63.3938)" v:mid="89" v:groupcontext="group">		<title>Sheet.89</title>		<g id="shape90-177" v:mid="90" v:groupcontext="shape">			<title>Sheet.90</title>			<path d="M16.49 180.02 L3 180.02 C1.34 180.02 0 181.37 0 183.02 L0 207 C0 208.66 1.34 210 3 210 L20.98 210 C22.64						 210 23.98 208.66 23.98 207 L23.98 187.52 L16.49 180.02 Z" class="st9"></path>		</g>		<g id="shape91-179" v:mid="91" v:groupcontext="shape" transform="translate(14.9883,-20.9836)">			<title>Sheet.91</title>			<path d="M0 201.01 L0 207 C0 208.66 1.34 210 3 210 L8.99 210 L0 201.01 Z" class="st11"></path>			<path d="M0 201.01 L0 207 C0 208.66 1.34 210 3 210 L8.99 210" class="st10"></path>		</g>		<g id="shape92-182" v:mid="92" v:groupcontext="shape" transform="translate(8.99298,-7.49415)">			<title>Sheet.92</title>			<path d="M0 201.01 L7.49 205.5 L0 210 L0 201.01 Z" class="st9"></path>		</g>	</g>	<g id="group93-184" transform="translate(41.9012,-111.389)" v:mid="93" v:groupcontext="group">		<title>Sheet.93</title>		<g id="shape94-185" v:mid="94" v:groupcontext="shape" transform="translate(13.1465,420) rotate(180)">			<title>Sheet.94</title>			<path d="M0 210 L13.15 210" class="st12"></path>		</g>		<g id="shape95-188" v:mid="95" v:groupcontext="shape" transform="translate(13.1465,420) rotate(180)">			<title>Sheet.95</title>			<path d="M0 210 L13.15 210" class="st13"></path>		</g>	</g>	<g id="group96-191" transform="translate(19.0534,-100.891)" v:mid="96" v:groupcontext="group">		<title>Sheet.96</title>		<g id="shape97-192" v:mid="97" v:groupcontext="shape">			<title>Sheet.97</title>			<path d="M0 208.5 A1.50003 1.50003 -180 0 0 1.5 210 L21 210 A1.50003 1.50003 -180 0 0 22.5 208.5 L22.5 189 A1.50003						 1.50003 -180 0 0 21 187.5 L1.5 187.5 A1.50003 1.50003 -180 0 0 0 189 L0 208.5 Z" class="st9"></path>		</g>		<g id="shape98-194" v:mid="98" v:groupcontext="shape" transform="translate(7.49792,-6.07308)">			<title>Sheet.98</title>			<path d="M0 201.08 C0 200.39 0.56 199.83 1.25 199.82 C1.48 199.82 1.7 199.88 1.9 200 L8.14 203.75 C8.74 204.1 8.93						 204.87 8.58 205.46 C8.47 205.64 8.32 205.79 8.14 205.9 L1.9 209.64 C1.31 210 0.54 209.81 0.18 209.22						 C0.06 209.02 0 208.8 0 208.57 L0 201.08 Z" class="st9"></path>		</g>	</g>	<g id="shape112-196" v:mid="112" v:groupcontext="shape" v:layermember="0" transform="translate(703.724,-139.423)">		<title>Dynamic connector</title>		<path d="M9 215.21 L9 222.79" class="st15"></path>	</g>	<g id="shape113-199" v:mid="113" v:groupcontext="shape" v:layermember="0" transform="translate(700.852,-70.9231)">		<title>Dynamic connector.113</title>		<path d="M9 217.53 L9 220.47" class="st15"></path>	</g>	<g id="shape114-202" v:mid="114" v:groupcontext="shape" v:layermember="0" transform="translate(21.3034,-108.44)">		<title>Dynamic connector.114</title>		<path d="M9 217.55 L9 220.45" class="st15"></path>	</g>	<g id="group115-205" transform="translate(693,-20.4516)" v:mid="115" v:groupcontext="group">		<title>Sheet.115</title>		<g id="shape100-206" v:mid="100" v:groupcontext="shape" transform="translate(15.1883,0)">			<title>Sheet.100</title>			<desc>开源</desc>			<v:textblock v:margins="rect(0,0,0,0)"></v:textblock>			<v:textrect cx="10.5" cy="203.7" width="21.01" height="12.6"></v:textrect>			<rect x="0" y="197.4" width="21" height="12.6" class="st6"></rect>			<text x="0" y="207.19" class="st16" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>开源</text>			</g>		<g id="shape101-209" v:mid="101" v:groupcontext="shape" transform="translate(6.29496E-14,-0.218623)">			<title>Sheet.101</title>			<path d="M0 208.5 A1.50003 1.50003 -180 0 0 1.5 210 L10.5 210 A1.50003 1.50003 -180 0 0 12 208.5 L12 199.5 A1.50003						 1.50003 -180 0 0 10.5 198 L1.5 198 A1.50003 1.50003 -180 0 0 -0 199.5 L0 208.5 Z" class="st4"></path>		</g>	</g></g>
</svg>

## 运行应用程序

下表列出了 gst-videocodec-concurrent-playback 应用程序支持的用例：| 用例 | 说明 |
| --- | --- |
| 视频会议 | <ul class="ul" id="gst-concurrent-videoplayback__ul_wrw_5tf_4bc"><br>                                    <li class="li">同时解码多个参与者的视频流。 </li><br><br>                                    <li class="li">这在多方视频会议场景中非常有用，此时该应用程序管理多个视频流。</li><br><br>                                </ul> |
| 监控系统 | 同时解码来自两个独立摄像头的视频源，每个摄像头都采用不同的编码方法。 |

请执行以下操作，以便运行用例：

1. 确保您已完成[前提条件](https://docs.qualcomm.com/doc/80-70022-50SC/topic/mm_sample_apps_prerequisites.html)。
2. 在目标设备上输入 `MP4 AVC (H.264)` 和 `HEVC (H.265)` 视频文件。
3. 在目标设备的终端中，使用以下命令运行用例：

        gst-videocodec-concurrent-playback -i /etc/media/<h264_file>.mp4 -i /etc/media/<h265_file>.mp4 -o /etc/media/<test>.yuvCopy to clipboard

下表提供了命令行参数的说明：    | 命令行参数 | 说明 |
    | --- | --- |
    | `-i` | 指定 H.264 和 H.265 输入视频文件的绝对路径。确保 H.264 输入文件在 H.265 之前指定。 |
    | `-o` | 指定 H.265 输出 YUV 文件的绝对路径。 |

    例如，要并发播放多格式视频，请使用以下命令：

        gst-videocodec-concurrent-playback  -i /etc/media/<h264_file>.mp4 -i /etc/media/<h265_file>.mp4 -o /etc/media/<test>.yuvCopy to clipboard
4. 要停止用例，请使用 CTRL +
                    C。
5. 在目标设备的终端中，在 SSH shell 中运行以下命令以显示可用的帮助选项：

        gst-videocodec-concurrent-playback --helpCopy to clipboard

Note: 由于 YUV 数据量较大，建议在短时间内（小于 5 秒）运行该用例，以避免耗尽存储空间。

## 预期输出

- H.264 视频显示到 Wayland 显示器。
- H.265 HEVC 视频将写入 YUV 文件。
    要播放 YUV 文件，请执行以下操作：

    1. 从设备中拉取 YUV dump 文件。
    2. 使用主机上运行的 YUV 播放器播放视频。 
        例如，选择 `YUV420planarNV12`格式，并使用 `1920 & 1088` 作为步幅线和扫描线。

Note: 如果主机上没有默认的 YUV 播放器，请使用 [https://sourceforge.net/projects/raw-yuvplayer/](https://sourceforge.net/projects/raw-yuvplayer/)。

## Pipeline 流

下表列出了用于运行 videocodec 并发播放 pipeline 的插件：| 插件 | 说明 |
| --- | --- |
| filesrc | 读取视频数据。 |
| qtdemux | 对视频数据进行解复用。 |
| h264parse | 渲染 H.264 视频流。 |
| h265parse | 渲染 H.265 视频流。 |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h264dec.html) | 使用 Video4Linux 解码 H.264 视频流。 |
| [v4l2h265dec](https://docs.qualcomm.com/doc/80-70022-50SC/topic/v4l2h265dec.html) | 使用 Video4Linux 解码 H.265 视频流。 |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50SC/topic/waylandsink.html) | 在 Wayland 显示器上显示 H.264 视频流。 |
| filesink | 将 H.265 视频写入 YUV 文件进行播放。 |

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

Last Published: Nov 05, 2025

[Previous Topic
智能 codec](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/smart-codec.md) [Next Topic
音视频播放](https://docs.qualcomm.com/bundle/publicresource/80-70022-50SC/topics/gst-audio-video-playback.md)