handling multipe rtp sources with videomixer where there is no data on one source

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

handling multipe rtp sources with videomixer where there is no data on one source

Florian Nierhaus
Hi,

I want to mix multiple rtp video sources and output them live.

I noticed that if any of the rtp video sources receives no data, then videomixer doesn't mix (and there is no output).

I would prefer to to just ignore the empty input (or treat it as transparent).

Any suggestions? Is there some plugin which just produces transparent video if there is nothing in the source pad - or some flag I have missed.

The pipeline seems to be in PLAYING state.


My pipeline roughly is:
gst-launch-1.0 -v flvmux name=flvmux ! queue ! rtmpsink location=foo                                                
videomixer name=mix ! queue ! videoconvert                                                                                       ! openh264enc complexity=2 gop-size=120 max-bitrate=3072000 usage-type=screen bitrate=2800000 ! h264parse ! queue ! flvmux.                                                      
udpsrc port=58988 caps=application/x-rtp, media=(string)video, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)VP8                                                
! rtpjitterbuffer do-lost=true ! rtpvp8depay ! vp8dec ! videoscale ! video/x-raw,width=1280,height=720 ! mix.                                                                    
udpsrc port=58984 caps=application/x-rtp, media=(string)video, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)VP8                                                
! rtpjitterbuffer do-lost=true ! rtpvp8depay ! vp8dec ! videoscale ! video/x-raw,width=320,height=240   ! alpha method=custom target-r=0 target-g=177 target-b=64 angle=25                                                 ! videobox border-alpha=0 top=-480 left=0 ! videoconvert ! mix.                                              

thank you,
Florian

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: handling multipe rtp sources with videomixer where there is no data on one source

Tim Müller
On Fri, 2016-12-09 at 18:08 -0800, Florian Nierhaus wrote:

Hi Florian,

> I want to mix multiple rtp video sources and output them live.
>
> I noticed that if any of the rtp video sources receives no data, then
> videomixer doesn't mix (and there is no output).
>
> I would prefer to to just ignore the empty input (or treat it as
> transparent).
>
> Any suggestions? Is there some plugin which just produces transparent
> video if there is nothing in the source pad - or some flag I have
> missed.
>
> The pipeline seems to be in PLAYING state.

Try using the "compositor" element from gst-plugins-bad instead, it
will replace the old videomixer in the near future and has been
rewritten from scratch to support live input properly, amongst other
things.

Compositor (and audiomixer) have a "latency" property that you can set,
to tell them how long to max. wait for a buffer.

Cheers
 -Tim

--
Tim Müller, Centricular Ltd - http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel