Composed video streaming over RTP

Vladimir Pavluk vladvic_r at mail.ru
Thu Aug 20 18:29:23 UTC 2020


Hi all,

I'm building a pipeline that has to stream a sequence of mp4 video files 
overlayed on background using compositor over RTP protocol.

My pipeline now looks like this:

filesrc(location=background.jpg)--jpegdec--videoscale--videoconvert--imagefreeze--compositor.sink_0

filesrc(location=(...).mp4)--qtdemux--decodebin--vscale--alpha--videoconvert--compositor.sink_1

videomixer.src--videoconvert--vp8enc--rtpvp8pay--(..rtpbin and udpsink..)


I use blocking pad probe on sink_1 which listens to events. Specifically 
I intercept EOS event to trigger media file switching: I send an application
message on bus, the bus handler sets filesrc and qtdemux to the READY 
state, then changes location and syncs states back with parent.

The issue I encounter seems to be related to qtdemux. It doesn't seem to 
emit the frames at framerate, but instead it pushes all frames
at once and then issues EOS which triggers immediate switching to the 
next file. It does that even if I remove the switching code and only
leave streaming one single file.

Is there any solution to that?

Best regards,
Vladimir




More information about the gstreamer-devel mailing list