カスタマイズと拡張性 Mediasoup-client

をカスタマイズおよび拡張するには Mediasoup-client 、次の手順に従います。

Transport 構成 のカスタマイズ

を作成するときに、 やなどの設定をカスタマイズして 、RTC(リアルタイム通信) 接続に使用されるポート範囲を定義 Transport できます。 rtcMinPort rtcMaxPort

const worker = await mediasoup.createWorker();  
const router = await worker.createRouter({ mediaCodecs });  
const transport = await router.createWebRtcTransport({  
  listenIps: [{ ip: '0.0.0.0', announcedIp: YOUR_PUBLIC_IP }],  
  rtcMinPort: 10000,  
  rtcMaxPort: 20000  
});  

 

Producer カスタマイズされたものを 作成し、 Consumer

Producer カスタマイズしたものを作成し、 Consumer コーデック、解像度、ビットレートなどの側面を制御でき ます。

たとえば、 Producer VP9 コーデックと 720p 解像度の を作成するには、次を使用できます。

const producer = await transport.produce({  
  kind: 'video',  
  rtpParameters: {  
    codecMimeType: 'video/VP9',  
    encodings: [{ maxBitrate: 500000 }],  
    // ... other parameters  
  },  
  // ... other options  
});  

 

プラグインを使用する

Mediasoup-client プラグインを使用して機能を拡張できます。

たとえば、 Producer or Consumer の作成時にカスタム ロジックを処理するプラグインを作成できます。 イベントを処理するプラグインを作成する簡単な例を次に示します Producer

const MyProducerPlugin = {  
  name: 'myProducerPlugin',  
  onProducerCreated(producer) {  
    console.log('A new producer was created:', producer.id);  
    // Perform custom logic here  
  },  
};  
  
mediasoupClient.use(MyProducerPlugin);  

 

高度な機能を活用する

Mediasoup-client は、サイマルキャスト、SVC(スケーラブル ビデオ コーディング)、オーディオ レベル コントロールなどの高度な機能を提供します。 プロジェクトの要件に基づいてそれらを調べて使用できます。

たとえば、サイマルキャスト機能を使用するには、 Producer 異なる空間レイヤーと時間レイヤーを使用して を作成できます。

const producer = await transport.produce({  
  kind: 'video',  
  simulcast: [  
    { spatialLayer: 0, temporalLayer: 2 },  
    { spatialLayer: 1, temporalLayer: 1 },  
    { spatialLayer: 2, temporalLayer: 1 },  
  ],  
  // ... other options  
});  

 

カスタマイズと拡張により、 Mediasoup-client アプリケーション内のリアルタイム通信のさまざまな側面を制御およびカスタマイズできます。 構成、プラグイン、高度な機能を利用することで、プロジェクトの特定の要件を満たすカスタマイズされたエクスペリエンスを作成できます。