Echo filter via udp

Nicolas Dufresne nicolas at ndufresne.ca
Mon Jan 4 12:01:55 UTC 2021


Le mar. 22 déc. 2020 10 h 00, Andrés Meseguer Valenzuela <
anmeva1 at etsid.upv.es> a écrit :

>
> Dear all, I am developing a pipeline to send video and audio muxed via
> UDP to receive it in another computer.
> The only problem is that in case of a bidirectional conversation I
> receive echo, hence I would like to apply the filter: webrtcechoprobe
> and webrtcdsp, but I do not how to do this.
>

To use these elements, you need to send and receive in the same pipeline.


> This is the pipeline to send:
>
> gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw, height=480
> ! videoconvert \
> ! x264enc tune=zerolatency  \
> ! queue ! mpegtsmux name=mux ! queue ! udpsink host=ipvalue
> port=portvalue alsasrc   \
>

Then the webrtcdsp goes here, right after alsasrc.

! queue ! audioconvert \
> ! queue ! opusenc ! queue ! mux. -e
>
> And the pipeline to receive:
>
> gst-launch-1.0 -v udpsrc port=portvalue ! queue ! tsdemux name=demux
> demux. \
> ! queue ! h264parse ! queue ! avdec_h264 ! queue ! videoconvert \
> ! autovideosink demux. ! queue ! opusdec ! queue ! audioconvert !
>

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.

Another note, our TS demuxer does not reorder UDP packets, so avoid this
protocol over the internet, use RTP instead.

queue ! alsasink sync=false


> Would you give me an example about how to perform it?
> Thanks for your valuable time,
> Regards,
> Andrés.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210104/889c37c3/attachment.htm>


More information about the gstreamer-devel mailing list