multiple stream throught videomixer + rtmpsink getting freeze

Tim Müller tim at centricular.com
Mon Jun 9 07:10:31 PDT 2014


On Tue, 2014-06-03 at 08:50 -0700, Weavel wrote:

Hi,

> 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.
> 
> //MIXING
> 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 !
> mix.sink_1
> 
> //SOURCE1
> gst-launch-1.0 filesrc location=/home/user/Desktop/test1.mp4 ! videoconvert
> ! x264enc bitrate=1000 tune=zerolatency ! flvmux name=mux ! rtmpsink
> location=rtmp://myserver.com/stream1/test1
> 
> //SOURCE2
> 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
> location=rtmp://myserver.com/stream1/test2
> 
> 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
videotestsrc?

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
buffering.

 Cheers
  -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list