Video Chat using mpegtsmux
gregory at ae40.com
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=127.0.0.1
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=127.0.0.1 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...
More information about the gstreamer-devel