multiple stream throught videomixer + rtmpsink getting freeze

Weavel weavel37 at yahoo.fr
Thu Jun 12 07:49:25 PDT 2014


Hi Tim !
Thanks for the reply !

As you said, i tested the many things u told me.

*Does it work if you replace one of the two mix branches with a
videotestsrc? *

No, it doesn’t. I still have the video getting freeze for few seconds every
13-14 seconds. But, when i tested with both videotestsrc in mixed branches,
it does works perfectly without interruption.

*Does it work with just a single rtmpsrc feeding into a videomixer? *

Yes it does.

*Does it work if you output stuff from videomixer to e.g. videoconvert !
ximagesink?*

No it doesn't, i still got the same thing, which is video freezing every
13-14 seconds.

*Does it work if you set sync=false on the video sink? *

No, it doesn't work. It's still the same.

*Maybe check the GST_DEBUG log of videomixer and/or collectpads to see
what's going on. Especially check if the timestamps make sense.*

So, GST_DEBUG=videomixer:6 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 

0:00:00.034894018 14681      0x14edc40 INFO              videomixer
videomixer2.c:2249:gst_videomixer2_child_proxy_init: intializing child proxy
interface
0:00:00.035131018 14681      0x14edc40 DEBUG             videomixer
videomixer2.c:781:gst_videomixer2_update_qos:<GstVideoMixer2 at 0x14f60b0>
Updating QoS: proportion 0.500000, diff 0:00:00.000000000, timestamp
99:99:99.999999999
0:00:00.035271349 14681      0x14edc40 INFO              videomixer
videomixer2.c:2240:gst_videomixer2_child_proxy_get_children_count:<videomixer2-0>
Children Count: 0
0:00:00.035333572 14681      0x14edc40 INFO              videomixer
videomixer2.c:2240:gst_videomixer2_child_proxy_get_children_count:<videomixer2-0>
Children Count: 0
0:00:00.043682806 14681      0x14edc40 DEBUG             videomixer
videomixer2.c:2102:gst_videomixer2_request_new_pad:<mix> Adding pad sink_1
0:00:00.043778924 14681      0x14edc40 INFO              videomixer
videomixer2.c:2240:gst_videomixer2_child_proxy_get_children_count:<mix>
Children Count: 1
0:00:00.043850403 14681      0x14edc40 INFO              videomixer
videomixer2.c:2240:gst_videomixer2_child_proxy_get_children_count:<mix>
Children Count: 1
0:00:00.052955580 14681      0x14edc40 DEBUG             videomixer
videomixer2.c:2102:gst_videomixer2_request_new_pad:<mix> Adding pad sink_0
Setting pipeline to PAUSED ...
0:00:00.056746059 14681      0x14edc40 LOG               videomixer
videomixer2.c:2020:gst_videomixer2_change_state:<mix> starting collectpads
Pipeline is PREROLLING ...
Redistribute latency...
0:00:02.973689899 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:558:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0>
video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:02.973830760 14681      0x15980a0 LOG               videomixer
videomixer2.c:571:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0> src caps
video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B,
YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx,
BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ],
framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:02.973958065 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:591:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0> accepted
caps video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:02.974015961 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:592:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0>
acceptable caps are video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[
1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=(fraction)1/1
0:00:02.974087930 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_0> Got stream-start
event on pad mix:sink_0
0:00:02.974159612 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:558:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0>
video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:02.974240614 14681      0x15980a0 LOG               videomixer
videomixer2.c:571:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0> src caps
video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B,
YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx,
BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ],
framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:02.974333443 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:591:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0> accepted
caps video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:02.974385426 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:592:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_0>
acceptable caps are video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[
1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=(fraction)1/1
0:00:02.974438385 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_0> Got caps event on
pad mix:sink_0
0:00:02.974474741 14681      0x15980a0 INFO              videomixer
videomixer2.c:457:gst_videomixer2_pad_sink_setcaps:<mix:sink_0> Setting caps
video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:02.976922599 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:400:gst_videomixer2_update_converters:<mix> The output format
will now be : 2 with colorimetry : bt601 and chroma : (null)
0:00:02.976971408 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:439:gst_videomixer2_update_converters:<mix:sink_0> This pad
will not need conversion
0:00:02.977591636 14681      0x15980a0 INFO              videomixer
videomixer2.c:1662:gst_videomixer2_src_setcaps:<mix:src> set src caps:
video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
Redistribute latency...
0:00:04.011123973 14681      0x145a230 DEBUG             videomixer
videomixer2.c:558:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1>
video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:04.011286554 14681      0x145a230 LOG               videomixer
videomixer2.c:571:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1> src caps
video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B,
YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx,
BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ],
framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:04.011409203 14681      0x145a230 DEBUG             videomixer
videomixer2.c:591:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1> accepted
caps video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:04.011460739 14681      0x145a230 DEBUG             videomixer
videomixer2.c:592:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1>
acceptable caps are video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[
1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=(fraction)1/1
0:00:04.011531637 14681      0x145a230 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_1> Got stream-start
event on pad mix:sink_1
0:00:04.011579200 14681      0x145a230 DEBUG             videomixer
videomixer2.c:558:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1>
video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:04.011642530 14681      0x145a230 LOG               videomixer
videomixer2.c:571:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1> src caps
video/x-raw, format=(string){ AYUV, BGRA, ARGB, RGBA, ABGR, Y444, Y42B,
YUY2, UYVY, YVYU, I420, YV12, NV12, NV21, Y41B, RGB, BGR, xRGB, xBGR, RGBx,
BGRx }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ],
framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:04.011729168 14681      0x145a230 DEBUG             videomixer
videomixer2.c:591:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1> accepted
caps video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:04.011776288 14681      0x145a230 DEBUG             videomixer
videomixer2.c:592:gst_videomixer2_pad_sink_acceptcaps:<mix:sink_1>
acceptable caps are video/x-raw, width=(int)[ 1, 2147483647 ], height=(int)[
1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ],
pixel-aspect-ratio=(fraction)1/1
0:00:04.011827150 14681      0x145a230 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_1> Got caps event on
pad mix:sink_1
0:00:04.011855943 14681      0x145a230 INFO              videomixer
videomixer2.c:457:gst_videomixer2_pad_sink_setcaps:<mix:sink_1> Setting caps
video/x-raw, format=(string)I420, width=(int)720, height=(int)406,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt601, framerate=(fraction)25/1
0:00:04.014846060 14681      0x145a230 DEBUG             videomixer
videomixer2.c:400:gst_videomixer2_update_converters:<mix> The output format
will now be : 2 with colorimetry : bt601 and chroma : (null)
0:00:04.014894666 14681      0x145a230 DEBUG             videomixer
videomixer2.c:439:gst_videomixer2_update_converters:<mix:sink_1> This pad
will not need conversion
0:00:04.014933702 14681      0x145a230 DEBUG             videomixer
videomixer2.c:439:gst_videomixer2_update_converters:<mix:sink_0> This pad
will not need conversion
0:00:04.015573023 14681      0x145a230 INFO              videomixer
videomixer2.c:1662:gst_videomixer2_src_setcaps:<mix:src> set src caps:
video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)25/1
0:00:05.197998818 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_0> Got segment event
on pad mix:sink_0
0:00:06.258785456 14681      0x145a230 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_1> Got segment event
on pad mix:sink_1
0:00:06.259783402 14681      0x145a230 INFO              videomixer
videomixer2.c:1662:gst_videomixer2_src_setcaps:<mix:src> set src caps:
video/x-raw, format=(string)I420, width=(int)1920, height=(int)1080,
pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive,
colorimetry=(string)bt709, framerate=(fraction)25/1
0:00:06.260732711 14681      0x145a230 DEBUG             videomixer
videomixer2.c:1221:gst_videomixer2_collected:<mix> Sending NEWSEGMENT event
0:00:06.260771411 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.000000000
0:00:06.260801400 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.000000000
0:00:06.260821127 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.268605307 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.000000000 and duration 0:00:00.040000000
0:00:06.271248488 14681      0x145a230 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_1> Got tag event on
pad mix:sink_1
0:00:06.271499575 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:1910:gst_videomixer2_sink_event:<mix:sink_0> Got tag event on
pad mix:sink_0
0:00:06.271585540 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.000000000
0:00:06.271618377 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.000000000
0:00:06.271638760 14681      0x15980a0 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.289117353 14681      0x15980a0 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.040000000 and duration 0:00:00.040000000
Redistribute latency...
0:00:06.301232136 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.040000000
0:00:06.301303062 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.040000000
0:00:06.301327339 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.309313464 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.080000000 and duration 0:00:00.040000000
0:00:06.351836886 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.080000000
0:00:06.351923938 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.080000000
0:00:06.351947897 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.361231621 14681      0x15212d0 DEBUG             videomixer
videomixer2.c:1400:gst_videomixer2_query_duration:<mix> Total duration in
format time: 0:00:06.208000000
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
0:00:06.362569612 14681      0x14edc40 DEBUG             videomixer
videomixer2.c:1481:gst_videomixer2_query_latency:<mix> Calculated total
latency: live no, min 0:00:00.040000000, max 99:99:99.999999999
0:00:06.362711093 14681      0x14edc40 LOG               videomixer
videomixer2.c:1994:gst_videomixer2_push_sink_event:<mix> Forwarding event
0x1397640 (latency)
0:00:06.362740090 14681      0x14edc40 LOG               videomixer
videomixer2.c:1975:forward_event_func:<mix:sink_1> About to send event
latency
0:00:06.362797152 14681      0x14edc40 LOG               videomixer
videomixer2.c:1982:forward_event_func:<mix:sink_1> Sent event  0x1397640
(latency).
0:00:06.362817162 14681      0x14edc40 LOG               videomixer
videomixer2.c:1975:forward_event_func:<mix:sink_0> About to send event
latency
0:00:06.362862551 14681      0x14edc40 LOG               videomixer
videomixer2.c:1982:forward_event_func:<mix:sink_0> Sent event  0x1397640
(latency).
New clock: GstSystemClock
0:00:06.365936644 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.120000000 and duration 0:00:00.040000000
0:00:06.384255432 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.120000000
0:00:06.384336044 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.120000000
0:00:06.384360784 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.392325623 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.160000000 and duration 0:00:00.040000000
0:00:06.460966702 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.160000000
0:00:06.461048048 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.160000000
0:00:06.461074627 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.469266979 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.200000000 and duration 0:00:00.040000000
0:00:06.513745364 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.200000000
0:00:06.513830426 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.200000000
0:00:06.513854565 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.521734336 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.240000000 and duration 0:00:00.040000000
0:00:06.528220980 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.240000000
0:00:06.528296399 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.240000000
0:00:06.528320103 14681      0x15980a0 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.544714271 14681      0x15980a0 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.280000000 and duration 0:00:00.040000000
0:00:06.580143317 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.280000000
0:00:06.580220520 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.280000000
0:00:06.580245866 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.588580177 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.320000000 and duration 0:00:00.040000000
0:00:06.660923892 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.320000000
0:00:06.661002105 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.320000000
0:00:06.661028528 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.669240477 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.360000000 and duration 0:00:00.040000000
0:00:06.700236337 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.360000000
0:00:06.700315486 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.360000000
0:00:06.700342219 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.708580068 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.400000000 and duration 0:00:00.040000000
0:00:06.751646149 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.400000000
0:00:06.751728965 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.400000000
0:00:06.751752614 14681      0x15980a0 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.760913506 14681      0x15980a0 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.440000000 and duration 0:00:00.040000000
0:00:06.792142446 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.440000000
0:00:06.792372372 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.440000000
0:00:06.792466881 14681      0x15980a0 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.800374539 14681      0x15980a0 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.480000000 and duration 0:00:00.040000000
0:00:06.852410228 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.480000000
0:00:06.852491707 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.480000000
0:00:06.852517169 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.858542693 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.520000000 and duration 0:00:00.040000000
0:00:06.896457788 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.520000000
0:00:06.896558123 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.520000000
0:00:06.896597082 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.902471755 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.560000000 and duration 0:00:00.040000000
0:00:06.940894373 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.560000000
0:00:06.940975652 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.560000000
0:00:06.940999168 14681      0x15980a0 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.948793230 14681      0x15980a0 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.600000000 and duration 0:00:00.040000000
0:00:06.986674894 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.600000000
0:00:06.986750279 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.600000000
0:00:06.986775856 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:06.995137380 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.640000000 and duration 0:00:00.040000000
0:00:07.044204233 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.640000000
0:00:07.044276598 14681      0x15980a0 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.640000000
0:00:07.044299824 14681      0x15980a0 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:07.050007569 14681      0x15980a0 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.680000000 and duration 0:00:00.040000000
0:00:07.094600868 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.680000000
0:00:07.094675072 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.680000000
0:00:07.094698050 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:07.102391041 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.720000000 and duration 0:00:00.040000000
0:00:07.131898500 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.720000000
0:00:07.131989115 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.720000000
0:00:07.132022096 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame
0:00:07.137477186 14681      0x145a230 LOG               videomixer
videomixer2.c:1308:gst_videomixer2_collected:<mix> Pushing buffer with ts
0:00:00.760000000 and duration 0:00:00.040000000
0:00:07.183744127 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_1> Taking new buffer
with start time 0:00:00.760000000
0:00:07.183824387 14681      0x145a230 DEBUG             videomixer
videomixer2.c:959:gst_videomixer2_fill_queues:<mix:sink_0> Taking new buffer
with start time 0:00:00.760000000
0:00:07.183847467 14681      0x145a230 LOG               videomixer
videomixer2.c:1156:gst_videomixer2_do_qos:<mix> no observation yet, process
frame

etc..

The collectpads seems correct to me, as for the timestamp. I can note that
the pushing buffer with ts is getting more and more late compare to the
launching code as the video goes on. (10 seconds between them at the begin,
1 minute around 4-5 minutes)

*You could also try to add queues before videomixer to provide some more
buffering. *

Done. It's better, but even with more buffering it does still freeze after a
certain amount of time (around 1m30).

And it’s getting worse when i add a third feeding source.

This is what i’m getting now :

GST_DEBUG=videomixer:6 gst-launch-1.0 videomixer sink_1::xpos=200
sink_1::ypos=200 sink_2::xpos=800 sink_2::ypos=800 name=mix ! queue  !
videoconvert ! video/x-raw, height=1080, width=1920 ! x264enc
tune=zerolatency bitrate=4000 ! flvmux name=flvmux  ! rtmpsink
location=rtmp://myserver.com/stream1/stream  sync=false rtmpsrc name=src1
location=rtmp://myserver.com/stream1/src1 ! decodebin name=dec1 ! queue !
mix.sink_0 rtmpsrc name=src2 location=rtmp://myserver.com/stream1/src2 !
decodebin name=dec2 ! queue ! mix.sink_1 rtmpsrc name=src3
location=rtmp://myserver.com/stream1/src3 ! decodebin name=dec3 ! queue !
mix.sink_2  dec1. ! queue ! audioconvert ! add. dec2. ! queue ! audioconvert
! add. dec3. ! queue ! audioconvert ! add. adder name=add ! audioresample !
flvmux.

I am now getting AV desync.
I made a code to regroupe all the feeding source together into the same
clock pipeline, but i still have freeze.
I'm attempting to use multiqueue, because input/output selectors are not
suitable to my project.

Regards, Weavel



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/multiple-stream-throught-videomixer-rtmpsink-getting-freeze-tp4667355p4667465.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list