<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mar. 22 déc. 2020 10 h 00, Andrés Meseguer Valenzuela <<a href="mailto:anmeva1@etsid.upv.es">anmeva1@etsid.upv.es</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Dear all, I am developing a pipeline to send video and audio muxed via <br>
UDP to receive it in another computer.<br>
The only problem is that in case of a bidirectional conversation I <br>
receive echo, hence I would like to apply the filter: webrtcechoprobe <br>
and webrtcdsp, but I do not how to do this.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">To use these elements, you need to send and receive in the same pipeline. </div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
This is the pipeline to send:<br>
<br>
gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw, height=480 <br>
! videoconvert \<br>
! x264enc tune=zerolatency \<br>
! queue ! mpegtsmux name=mux ! queue ! udpsink host=ipvalue <br>
port=portvalue alsasrc \<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Then the webrtcdsp goes here, right after alsasrc.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
! queue ! audioconvert \<br>
! queue ! opusenc ! queue ! mux. -e<br>
<br>
And the pipeline to receive:<br>
<br>
gst-launch-1.0 -v udpsrc port=portvalue ! queue ! tsdemux name=demux demux. \<br>
! queue ! h264parse ! queue ! avdec_h264 ! queue ! videoconvert \<br>
! autovideosink demux. ! queue ! opusdec ! queue ! audioconvert ! <br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">And the echoprobe right before alsasink. The probe is timestamp driven, so you probably want to use sync=true async=false on that sink. Though the latency will be too hight with mpegtsdemux, hopefully you use a recent GStreamer release and have a latency property to reduce it from the 700ms default.</div><div dir="auto"><br></div><div dir="auto">Another note, our TS demuxer does not reorder UDP packets, so avoid this protocol over the internet, use RTP instead.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
queue ! alsasink sync=false</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Would you give me an example about how to perform it?<br>
Thanks for your valuable time,<br>
Regards,<br>
Andrés.<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" rel="noreferrer">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div></div></div>