Hello everyone, i am new to gstreamer and I’ve started using it a month ago.
My project is basically that I have 3 rtsp chanells that I shoot out of gstreamer.
Those chanells have a playlist in each of them which is different.
I add videos to these playlists using a different server and a relay node js
The relay node js spawns the python gstreamer processes and sends the streams.
at the moment my pipeline goes like this:
GcloudBucket(MP4)->Server->NodeJS Relay-> Python subprocess->uridecodebin3(strict caps passthrough)->multiqueue->input-selector->tee->streamsynchroniser->final queue->rtsp sink
and I use 2 uridecodebin3’s and with the input selector I switch them after preloading the other decoder ofc
and I’m using tee and streamsync because on one of the rtsp chanells I have audio aswell.
Since this is providing issues with gapless playback and requires a full custom pipeline(what I want is for the videos to be stitched perfectly with no gaps or freezes) I am thinking of using playbin3, but throughout all my tests with flags etc. i could not get it to do simple passthrough.
All my videos are already pre-encoded in h264 and opus for webrtc streaming (after rtsp we mediamtx to webrtc HTTP whep)
So my question is kind of double-layered.
Should I keep working on this custom pipeline? and if so do you have any tips to make it better? because I am getting freezes and not found etc
and
Is there a passthrough mode for playbin3? if there is how do I access it? (in my mind there should be since it uses uridecodebin3 which allows passthrough with strict caps)
Thank you for reading through this and if there are any tips I would gladly appreciate them.
P.S I don’t know how to produce a dot file from a dockerized environment (hehe I’m dum) so I cant show you the full pipeline. if I do find out I will post it under this thread.