I'm developing a third party mediasp-client for node.js.

I’m developing a third party mediasp-client for node.js.
mediasoup-client-node

This library under development is only use TypeScript, and has no dependency on native modules or other languages.
Not all features of the browser version of mediasoup-client are available, but it already supports produce and consume mediachannel and datachannel.

If you are interested in using it, please try it. If you find any bugs or issues, please let me know. I’ll do our best to fix it.

1 Like

How would it produce and consume media if there are no dependencies like wrtc or native modules?
Even for data channel you need SCTP stack got send/receive data.

using GitHub - shinyoshiaki/werift-webrtc: WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP/SRTP

2 Likes

How do you plan to handle PLI requests? Looking at your examples (mediasoup-client-node/media.ts at develop · shinyoshiaki/mediasoup-client-node · GitHub) seems that the encoder process is completely independent from the RTC stack.

Currently it can only detect that a PLI request has been received.
like this.

  producer.rtpSender.onRtcp.subscribe((rtcp) => {
    if (rtcp.type === RtcpPayloadSpecificFeedback.type) {
      const { feedback } = rtcp as RtcpPayloadSpecificFeedback;
      if (feedback.count === PictureLossIndication.count) {
        console.log(rtcp);
      }
    }
  });

If you want keyframe, you need to let RTP generator (gstreamer, FFmpeg, etc.) send keyframe to client in some way at the time client receive the PLI request.

Thanks.
Instead, packet retransmissions are handled by the library, right?

Yes your right.
Supprots RTCP NACK.

1 Like