Sending and Receiving Media Streams with Mediasoup-client

To send and receive media streams with Mediasoup-client, you can follow these steps:

Initialize Transport

First, initialize a Transport object by using the device.createSendTransport() or device.createRecvTransport() method.

const transport = await device.createSendTransport({
  // Transport configuration


Create Producer

Once you have the Transport object, you can create a Producer to send media streams to the server. Use the transport.produce() method and specify the media stream type (e.g., 'audio', 'video', 'data') and any other required configurations.

const producer = await transport.produce({
  kind: 'video',
  // Producer configuration


Create Consumer

To receive media streams from the server, you need to create a Consumer. Use the transport.consume() method and specify the configuration for the Consumer.

const consumer = await transport.consume({
  // Consumer configuration


Send and Receive Data

The Producer object provides methods to send data to the server, such as producer.send() to send video or audio data. You can also listen for events like 'transport', 'producer', or similar events to handle sending data.

The Consumer object provides methods to receive data from the server, such as consumer.on('transport', () => { /* Handle received data */ }). You can also listen for 'consumer' or similar events to handle receiving data.


Please note that the process of sending and receiving media streams can be more complex depending on the requirements and configurations of your application. Refer to the Mediasoup-client documentation for more information on available methods and events to customize the sending and receiving of media streams according to your needs.