Recording nvcompositor stream into file

Hi,

I have the following pipeline:

gst-launch-1.0 nvcompositor name=comp sink_0::width=1920 sink_0::height=1080 sink_1::xpos=1280 sink_1::width=640 sink_1::height=320 \
   ! nvvidconv ! omxh264enc ! qtmux ! filesink location=test.mp4 \
   v4l2src io-mode=2 device=/dev/video0 name=src1 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 \
   ! tee name=tee tee. \
   ! queue max-size-buffers=2 leaky=downstream \
   ! nvvidconv ! 'video/x-raw(memory:NVMM)' \
   ! tee name=t1 \
   t1. ! queue ! comp. \
   t1. ! queue ! nvvidconv ! ... ! appsink name=sink1 \
   videotestsrc pattern=0 name=src2 ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 \
   ! tee name=tee2 tee2. \
   ! queue max-size-buffers=2 leaky=downstream \
   ! nvvidconv ! 'video/x-raw(memory:NVMM),width=640,height=320' \
   ! tee name=t2 \
   t2. ! queue ! comp. \
   t2. ! queue ! nvvidconv ! ... ! appsink name=sink2

I’m trying to write the nvcompositor stream into a .mp4 file, I see the file size is being updated while the pipeline is running but the final result file is corrupted and cannot be played.
Where’s the issue ?

Hi,
It needs EoS signal to have a valid MP4 file. Please add num-buffers property to the sources. If you would like to terminate the pipeline through Ctrl + C, you can try matroskamux to generate MKV.