<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Hey,<br>
    <br>
    I would recommend using webRTC (webrtcbin in the GStreamer context)
    for<br>
    such an application :)<br>
    <br>
    Best,<br>
    <br>
    <div class="moz-signature">-- <br>
      Mathieu Duponchelle · <a href="https://www.centricular.com">https://www.centricular.com</a></div>
    <br>
    <div class="moz-cite-prefix">On 5/19/21 8:14 AM, Gregory AE40 via
      gstreamer-devel wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAOcQOiScQV6F9_Tr1zD55ufnczU-QYMBX-HeQq8GQJkrnnHhPw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">Hi, 
        <div><br>
        </div>
        <div>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).
          <div><br>
          </div>
          <div>My sending pipeline is as follows:</div>
          <div> </div>
          <div>gst-launch-1.0 mpegtsmux name=mux ! rtpmp2tpay ! udpsink
            host=127.0.0.1 port=5555^<br>
             wasapisrc ! audioresample ! audioconvert ! avenc_aac !
            queue ! mux.^<br>
             ksvideosrc ! videoconvert ! x264enc tune=zerolatency !
            h264parse config-interval=-1 ! queue ! mux.^<br>
             <br>
          </div>
          <div>My receiving pipeline is as follows:</div>
          <div><br>
          </div>
          <div>gst-launch-1.0^<br>
             udpsrc address=127.0.0.1 port=5555 caps="application/x-rtp"
            ! rtpmp2tdepay ! tsdemux name=demux^<br>
             demux. ! queue ! avdec_aac ! audioresample ! audioconvert !
            wasapisink low-latency=true^<br>
             demux. ! queue ! h264parse ! avdec_h264 ! videoconvert !
            autovideosink<br>
          </div>
          <div><br>
          </div>
          <div>Questions:</div>
          <div>1. Is this the correct approach for a video chat or
            should I use separate streams for audio and video?</div>
          <div>2. If this is the correct approach, am I using the
            correct muxer or should I use something else such as asfmux?</div>
          <div>3. If this is the correct approach and the correct muxer,
            is there something I can do in order to reduce the latency?</div>
          <div><br>
          </div>
          <div><br>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
    </blockquote>
  </body>
</html>