Hello Everyone,<br> I'm fairly new to G-Streamer so any input you can provide is much appreciated. I'm working on a project where we need to generate a 2 minute video which is a composite of a total of 24 input videos. The output video will have 4 different 30 second sections, each containing a 3x2 grid of the smaller input videos. The input videos are all naturally at 240x240 with the goal of having a final output frame size of 720x480.<br>
<br> Using gst-launch, I've been able to construct a sample 30 second clip using a combination of inputs, videoboxes and a videomixer. Here is what I've come up with so far:<br><br>videomixer name=mix ! ffmpegcolorspace ! ffenc_mpeg1video ! ffmux_mpeg name=mux ! queue ! filesink location=output.mpg<br>
adder name=adder ! audioconvert ! ffenc_mp2 ! mux.<br>filesrc location=loop1.mp4 ! decodebin name=decode1<br>decode1. ! videobox border-alpha=0 top=-240 left=0 ! queue ! mix.<br>decode1. ! adder.<br>filesrc location=loop2.mp4 ! decodebin name=decode2<br>
decode2. ! videobox border-alpha=0 top=-240 left=-240 ! queue ! mix.<br>decode2. ! adder.<br>filesrc location=loop3.mp4 ! decodebin name=decode3<br>decode3. ! videobox border-alpha=0 top=-240 left=-480 ! queue ! mix.<br>decode3. ! adder.<br>
filesrc location=loop4.mp4 ! decodebin name=decode4<br>decode4. ! videobox border-alpha=0 top=0 left=0 ! queue ! mix.<br>decode4. ! adder.<br>filesrc location=loop5.mp4 ! decodebin name=decode5<br>decode5. ! videobox border-alpha=0 top=0 left=-240 ! queue ! mix.<br>
decode5. ! adder.<br>filesrc location=loop6.mp4 ! decodebin name=decode6<br>decode6. ! videobox border-alpha=0 top=0 left=-480 ! queue ! mix.<br>decode6. ! adder.<br><br> Now I need to do this 4 times, each time with a potentially different video in each box. I've started looking into C interfaces as there's other pieces of the puzzle which need to be tied into this, and I am trying to determine the best way to tackle this. I originally was looking at Gnonlin, but the documentation is lacking in regards to how gnloperations work. I also recently stumbled upon the GES library by Edward Hervey, this looks promising as well, but I haven't been able to spend much time on it.<br>
<br> If I go the Gnonlin route, I believe I would need 6 compositions, one for each box. At the 30 second marker, I would swap the filesource to a new one using dynamic pads and listening for messages on the pipeline bus. Am I far off on this? Any suggestions?<br>
<br> As for the GES library, it looks very promising and powerful from the little I read on it. Would this be the smarter route to take? If so, does anyone have any suggestions for how the pipeline would be structured?<br>
<br> Thank you in advance for your time on this and I truly appreciate any information you are willing to share with me.<br><br> Happy Thanksgiving,<br> Tim<br>