사용자 정의 및 확장성 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  
});  

 

맞춤형 생성 ProducerConsumer

코덱, 해상도, 비트 전송률 등과 같은 측면을 제어하기 위해 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 예를 들어 또는가 생성 될 때 사용자 지정 논리를 처리하는 플러그인을 생성할 수 있습니다 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 Simulcast, SVC(Scalable Video Coding), 오디오 레벨 제어 등과 같은 고급 기능을 제공합니다. 프로젝트 요구 사항에 따라 탐색하고 사용할 수 있습니다.

예를 들어 Simulcast 기능을 사용하려면 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 애플리케이션에서 실시간 통신의 다양한 측면을 제어하고 사용자 정의할 수 있습니다. 구성, 플러그인 및 고급 기능을 활용하여 프로젝트의 특정 요구 사항을 충족하는 맞춤형 경험을 만들 수 있습니다.