multiple stream throught videomixer + rtmpsink getting freeze
tim at centricular.com
Mon Jun 9 07:10:31 PDT 2014
On Tue, 2014-06-03 at 08:50 -0700, Weavel wrote:
> I'm working on a project which consist in sending a stream containing
> multiple stream. For that purpose i use videomixer.
> I'm using Gstreamer-1.2.3 working under debian gnome 3.4.2. I'm only testing
> with video for the moment.
> GST_DEBUG=4 gst-launch-1.0 videomixer sink_1::xpos=50 sink_1::ypos=50
> name=mix ! videoconvert ! video/x-raw, height=1080, width=1920 ! x264enc
> tune=zerolatency bitrate=2000 ! flvmux ! rtmpsink
> location=rtmp://myserver.com/stream1/test3 rtmpsrc name=src1
> location=rtmp://myserver.com/stream1/test1 ! decodebin ! mix.sink_0 rtmpsrc
> name=src2 location=rtmp://myserver.com/stream1/test2 ! decodebin !
> gst-launch-1.0 filesrc location=/home/user/Desktop/test1.mp4 ! videoconvert
> ! x264enc bitrate=1000 tune=zerolatency ! flvmux name=mux ! rtmpsink
> gst-launch-1.0 filesrc location=/home/user/Desktop/test2.mp4 ! decodebin
> name=dec ! x264enc bitrate=1000 tune=zerolatency ! mux. dec. ! audioconvert
> ! audioresample ! mux. flvmux name=mux ! rtmpsink
> The source1 and source2 are working perfectly, but when mix together, i get
> "freeze" about every 10sec during few seconds. I've tried to put multiqueue,
> or to put do-timestamp to apply current stream time but no success.
> I even tried to add the audio into a adder element and then linking it to
> flvmux (because maybe without audio it couldn't synchronised correctly) so I
> get sounds and videos, but i still got the freezing
> I've checked my CPU and my connection and it all seems good.
> Is this AV sync problem ? Can someone help me to find out where is the
> problem please?
Does it work if you replace one of the two mix branches with a
Does it work with just a single rtmpsrc feeding into a videomixer?
Does it work if you output stuff from videomixer to e.g. videoconvert !
ximagesink? Does it work if you set sync=false on the video sink?
Maybe check the GST_DEBUG log of videomixer and/or collectpads to see
what's going on. Especially check if the timestamps make sense. You
could also try to add queues before videomixer to provide some more
Tim Müller, Centricular Ltd - http://www.centricular.com
More information about the gstreamer-devel