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