jdev - 2025-03-18


  1. andrey.utkin

    Is there a tool to test, end to end, media streams quality (latency, loss, distortion after decoding) in a video call of two clients? If not, would you be interested to take part in, or sponsor, development of such tool? My interest is to compare hosting XMPP server on my homeserver and a datacenter.

  2. MattJ

    andrey.utkin, by "XMPP server" I guess you mean "TURN server"? In my experience the majority of calls don't need a TURN server and therefore would be unaffected by the location of the XMPP or TURN server

  3. MattJ

    and for people who host their XMPP server at home, I still always recommend that they host TURN away from their home, for performance and security reasons

  4. MattJ

    But it's true, I have not measure the performance part

  5. MattJ

    But it's true, I have not measured the performance part

  6. MattJ

    and I don't know of tools that could do so

  7. MattJ

    Maybe wireshark

  8. dele.olajide

    >andrey.utkin : Is there a tool to test, end to end, media streams quality (latency, loss, distortion after decoding) in a video call of two clients? If you are using WebRTC, there is RTCPeerConnection: getStats() See https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/getStats

  9. TheCoffeMaker

    didn't try it but there is this project that may be helpful https://github.com/vpalmisano/webrtcperf

  10. Matt

    Hi

  11. theTedd

    Greetings

  12. theTedd

    Or not

  13. edhelas

    singpolyma In your client when you add the screen sharing track, how do you differentiate the webcam from the other ?

  14. singpolyma

    Currently I don't

  15. edhelas

    Also WebRTC is basically do a renegotiation while Jingle wants a simple content-add, this means you have to keep state of the SDP and completely rebuild it from the diff somehow no ?

  16. edhelas

    Also WebRTC is basically doing a renegotiation while Jingle wants a simple content-add, this means you have to keep state of the SDP and completely rebuild it from the diff somehow no ?

  17. singpolyma

    WebRTC keeps the SDP of both sides for me

  18. edhelas

    Yes but when you do addTrack, a new complete SDP is generate, with the two tracks no ?

  19. edhelas

    Jingle wants only the new one

  20. edhelas

    *generated

  21. singpolyma

    Right so here I get the new track from the client https://github.com/snikket-im/snikket-sdk/blob/main/snikket/jingle/Session.hx#L448 and I say to send a content-add by not including anything mathching "oldmids" which I compute from localdescription before adding the new track. then I add the new track. then in https://github.com/snikket-im/snikket-sdk/blob/main/snikket/jingle/Session.hx#L555 I call setupLocalDescription to generate the new local SDP. and you can see at https://github.com/snikket-im/snikket-sdk/blob/main/snikket/jingle/Session.hx#L579 I filter out anything matching those old mids

  22. edhelas

    I see

  23. edhelas

    I do the SDP <-> Jingle PHP side so I'll have to somehow keep a trace of things there, makes things complicated