Remote Mediasoup client
Remote Mediasoup client
This project host a class that allow to connect to servers offering the
Remote Mediasoup
API, like
Remote Mediasoup server and
Mediasoup cluster. Once connected, it
offers the same API than the one provided by Mediasoup,
but using remote instances instead of a local one. This allow to use the same
code in both cases and easily migrate from one to the other, openning the door
to scale your Mediasoup
based application without having to change your code.
Install
npm install --save @mafalda-sfu/remote-mediasoup-client
API
See API documentation.
Usage
You only need to do two changes in your code:
-
Replace the
mediasoup
import forremote-mediasoup-client
:- import mediasoup from 'mediasoup' + import RemoteMediasoupClient from 'remote-mediasoup-client'
-
Create the instance of the
RemoteMediasoupClient
object, wait for itsconnected
event, and access to themediasoup
property:+ const remoteMediasoupClient = new RemoteMediasoupClient + + await once(remoteMediasoupClient, 'connected') + + const {mediasoup} = remoteMediasoupClient
After that, the mediasoup
variable will have an object with the same API than
the one provided by the Mediasoup
package.
Known bugs (AKA “features”)
- Since the
close()
methods of the different objects created by theMediasoup
package are synchronous, butRemote Mediasoup client
does internally asynchronous network requests, it’s not possible to catch the throwned errors. To don’t left them unnoticed when received, they are just printed in the console.