Video Chat using mpegtsmux

Gregory AE40 gregory at
Wed May 19 06:14:40 UTC 2021


I am trying to implement a video chat using GStreamer on Windows 10. I
intend to use gstreamer C API, but for now I am just using the command line
for basic testing. In order to keep video and audio in sync, I am muxing
them using mpegtsmux and then sending them via RTP. It works fine, but the
latency is pretty high (I think it's about 1 second).

My sending pipeline is as follows:

gst-launch-1.0 mpegtsmux name=mux ! rtpmp2tpay ! udpsink host=
 wasapisrc ! audioresample ! audioconvert ! avenc_aac ! queue ! mux.^
 ksvideosrc ! videoconvert ! x264enc tune=zerolatency ! h264parse
config-interval=-1 ! queue ! mux.^

My receiving pipeline is as follows:

 udpsrc address= port=5555 caps="application/x-rtp" ! rtpmp2tdepay
! tsdemux name=demux^
 demux. ! queue ! avdec_aac ! audioresample ! audioconvert ! wasapisink
 demux. ! queue ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

1. Is this the correct approach for a video chat or should I use separate
streams for audio and video?
2. If this is the correct approach, am I using the correct muxer or should
I use something else such as asfmux?
3. If this is the correct approach and the correct muxer, is there
something I can do in order to reduce the latency?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list