Is it possible to use two Tees in a pipeline

Michael Gruner michael.gruner at ridgerun.com
Thu Sep 16 19:45:42 UTC 2021


Hello Dwight

Yes it is possible to write that pipe using gst-launch syntax. Your syntax looks okay except for the very last "tee_raw." One golden rule is that you typically want to link queues to the output of every tee pad. This will allow successful prerolling. Otherwise you might see you pipeline get stuck at startup.

I like it better phrased as:

v4l2src device=/dev/video1 ! tee name=tee_raw

tee_raw. ! queue ! vpuenc_h264 ! h264parse ! tee name=tee_h264 

tee_h264. ! queue ! appsink name=h264vid max-buffers=1 drop=true 
tee_h264. ! queue ! h264parse ! splitmuxsink name=filesink location=./videos/video%02d.mkv max-size-time=10000000000 muxer-properties=\"properties,streamable=true\" 

Michael
www.ridgerun.com

> On 15 Sep 2021, at 14:41, Dwight Kulkarni via gstreamer-devel <gstreamer-devel at lists.freedesktop.org> wrote:
> 
> Hi all,
> 
> I want to setup a pipeline as follows:
>                    
>                                                                                                                          queue -> splitmuxsink
>                                    vpunenc_h264 -> queue -> h264parse -> tee_h264 <
>                                  /                                                                                       queue -> appsink name=appsink1
> v4l2src -> tee_raw <                                                                      
>                                  \
>                                    queue -> jpegenc -> appsink name=appsink2
> 
> 
> Is it possible to do this with a text pipeline ?  I was thinking something like this:
> 
> 
> v4l2src device=/dev/video1 ! tee name=tee_raw !
> 
> vpuenc_h264 ! queue ! h264parse ! tee name=tee_h264 ! appsink name=h264vid max-buffers=1 drop=true tee_h264. 
> ! queue ! h264parse ! splitmuxsink name=filesink location=./videos/video%02d.mkv max-size-time=10000000000 muxer-properties=\"properties,streamable=true\" tee_raw.
> 
> ! queue ! jpegenc ! appsink name=appsink2 tee_raw.
> 
> 
> Is it possible to have two tees and is that the correct syntax ?
> 
> -- 
> Sincerely,
> 
> Dwight Kulkarni                
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210916/81e1895c/attachment.htm>


More information about the gstreamer-devel mailing list