Video Chat using mpegtsmux

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


Hi,

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=127.0.0.1
port=5555^
 wasapisrc ! audioresample ! audioconvert ! avenc_aac ! queue ! mux.^
 ksvideosrc ! videoconvert ! x264enc tune=zerolatency ! h264parse
config-interval=-1 ! queue ! mux.^

My receiving pipeline is as follows:

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

Questions:
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: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210519/ba0c5584/attachment.htm>


More information about the gstreamer-devel mailing list