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