AnsweredAssumed Answered

How to save video stream into multiple files without stop gstreamer pipeline?

Question asked by Robbie Jiang on Mar 12, 2014



I'm using a gstreamer pipeline to save encoded video stream into files on iMX515/Linux-2.6.31 platform.

The pipeline is as follows:


mfw_v4lsrc -> mfw_vpuencoder -> avimux -> filesink location=xxx



However, I would like to change the file name ( i.e, the "location" propoerty of filesink element )

every 10 minutes( e.g, change the file name to the current time ).

AndI don't want to stop the pipeline before changing the location property.


With gstreamer-1.2 or higher version, it's possible to do this with gst_pad_set_block(),

that is, blocking the source pad of avimux first, set filesink's state to NULL, change the location property,

set filesink's state to ready, and unblock avimux's source pad. ( Or something like that, I'm not quite sure.)


But the gstreamer library comes with imx515 BSP is gstreamer-0.10.x.

I am not sure if this method can make any sense with our work platform.


Is there anyone who has done this successfully?

Or is there another method to try?