<html><body><span style="font-family:Verdana; color:#000000; font-size:10pt;"><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;">Hi,</div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;">I need to join some .mp4 clips (video only, all created with the same parameters) and create a single playable .mp4 file using gstreamer.</div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;">Testing this on gstreamer 1.6.3 (the target version) and 1.16.  The results have been the same on either of those versions.</div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;">We found slomo's blog post and the first file related example basically just does a cat of two files so it doesn't of course play properly, it just plays the first clip in the output file and ends.</div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><br></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;">The second example </div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><span class="crayon-i" style="">gst</span><span style="">-</span><span class="crayon-i" style="">launch</span><span style="">-</span><span class="crayon-cn" style="">1.0</span><span class="crayon-h" style=""> </span><span class="crayon-e" style="">concat </span><span class="crayon-i" style="">name</span><span style="">=</span><span class="crayon-i" style="">c</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">queue</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">avdec_h264</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">queue</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">videoconvert</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">videoscale</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-e" style="">autovideosink   </span><span class="crayon-e" style="">filesrc </span><span class="crayon-i" style="">location</span><span style="">=</span><span class="crayon-cn" style="">1.mp4</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">qtdemux</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">h264parse</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">c</span><span class="crayon-sy" style="">.</span><span class="crayon-h" style="">   </span><span class="crayon-e" style="">filesrc </span><span class="crayon-i" style="">location</span><span style="">=</span><span class="crayon-cn" style="">2.mp4</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">qtdemux</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">h264parse</span><span class="crayon-h" style=""> </span><span class="crayon-sy" style="">!</span><span class="crayon-h" style=""> </span><span class="crayon-i" style="">c</span><span class="crayon-sy" style="">.</span></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><span class="crayon-sy" style=""><br></span></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><span class="crayon-sy" style="">Streams fine to the display but if I replace autovideosink with filesink location=foodoo.mp4 I get a very large .mp4 file (larger than the combined input files e.g. 64 Mbytes vs 398 Mbytes from this pipeline.  While the video "plays" it is blank.</span></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;"><span class="crayon-sy" style=""><br></span></div><div style="color: rgb(0, 0, 0); font-family: verdana, geneva; font-size: 10pt;">I asked on the IRC channel and received this pipeline:</div><div style=""><font face="verdana, geneva" style=""><span style="">gst-launch-1.0 concat name=c ! queue ! qtmux ! filesink location=output.mp4  filesrc location=1.mp4 ! qtdemux ! h264parse ! c.   filesrc location=2.mp4 ! qtdemux ! h264parse ! c.</span></font></div><div style=""><font face="verdana, geneva" style=""><span style=""><br></span></font></div><div style=""><font face="verdana, geneva" style=""><span style="">But that fails with </span></font><font face="verdana, geneva" style="">"WARNING: erroneous pipeline: could not link h264parse0 to c"</font></div><div style=""><font face="verdana, geneva" style=""><br></font></div><div style=""><font face="verdana, geneva" style="">So can anyone point me to a working example of how to use concat to accomplish the task, or a working alternative method.  We need to use gstreamer or we could leverage cvlc to do this (that works, but is not an option).</font></div><div style=""><font face="verdana, geneva" style=""><br></font></div><div style=""><font face="verdana, geneva" style="">Thanks,</font></div><div style=""><font face="verdana, geneva" style="">Burt</font></div><div style=""><font face="verdana, geneva" style=""><br></font></div></span></body></html>