Dynamically start and stop recording with tee branch to create seekable videos

Nicolas Dufresne nicolas at ndufresne.ca
Thu Dec 12 16:14:48 UTC 2019

Le mercredi 11 décembre 2019 à 15:43 -0600, gstreamer_webcam a écrit :
> Hello, I'm trying to start and stop a recording with a tee branch. Every time
> when asked to start recording, tee will create a new branch with a unique
> id. When asked to stop recording, the tee branch will be stopped and removed
> (the other tee branch and pipeline is still functioning). How can I send EOS
> to make the generated videos seekable? 
> One relevant hint in
> http://gstreamer-devel.966125.n4.nabble.com/Dynamically-start-and-stop-recording-using-valve-td4670091.html,
> but I don't know how to check if the EOS actually reaches the filesink
> before setting the pipeline state to NULL. 

Because it's quite difficult, the dev I know doing that same ended up
using  two pipelines for that. An appsink on the live pipeline and then
an appsrc on the recording pipeline. Both way can work, but I think the
split pipeline approach is far easier to get right. Draining a branch
of a pipeline is rather hard, but possible, and might also be needed in
some scenarios.

> Any ideas or code snippet would be appreciated.
> My pipeline is something like this :
>                   ^ ->  queue->x264enc->avimux->filesink
>                   |
> src->caps->tee-> queue->x264enc->avimux->filesink
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20191212/b4383cd1/attachment.sig>

More information about the gstreamer-devel mailing list