libjingle webrtc data channel setup

594 Views Asked by At

We are trying to create a remote desktop application based on libjingle.

We got a working prototype that streams and injects keyboard mouse events to a remote PC using the pcpmain.cc example provided under talk/examples. The problem is we are facing significant lag - 5-10s in the events to show up on the remote PC even within the same LAN.

The lag is very likely due to our KeyMouseEvents size being around 30bytes compared to the transport window/buffer size (64k-90kb ??) that TCP (pseudotcp) buffers up before sending them over the connection. We were able to completely eliminate the lag though by padding our tiny event messages of 30bytes by a whooping 2kb of junk:)

Is PseudoTCP a bad choice to achieve RT experience for remote control via streaming keyboard/mouse events? If so, are there any other plain udp talk_base::StreamInterface we can create for small size packet streaming? So far I have only seen TunnelSessionClient and MediaSessionClient which force pseudotcp and rtp/rtcp respectively over their data channels.

0

There are 0 best solutions below