Mediasoup-client 프로젝트에서 설정 및 구성

Mediasoup-client 프로젝트에서 설치 및 구성하려면 다음 단계를 따르십시오.

Node.js 설치

먼저 컴퓨터에 Node.js를 설치해야 합니다. Node.js는 서버 측 JavaScript 런타임 환경입니다. 공식 Node.js 웹 사이트( https://nodejs.org )를 방문하여 운영 체제에 적합한 버전을 다운로드하십시오. 설치가 완료되면 터미널을 열고 다음 명령을 실행하여 설치된 Node.js 버전을 확인할 수 있습니다.

node -v

 

프로젝트 초기화 및 설치 Mediasoup-client

프로젝트의 새 디렉토리를 만들고 해당 디렉토리에서 터미널을 엽니다. 다음 명령을 실행하여 새 Node.js 프로젝트를 초기화하고 package.json 파일을 만듭니다.

npm init -y

다음 Mediasoup-client 으로 다음 명령을 실행하여 프로젝트에 설치합니다.

 

npm install mediasoup-client

 

가져오기 및 구성 Mediasoup-client

프로젝트의 소스 코드 파일에서 다음 줄을 추가하여 가져옵니다. Mediasoup-client

const mediasoupClient = require('mediasoup-client');

를 구성하려면 개체를 Mediasoup-client 만들어야 합니다 Device. 이 개체는 클라이언트 장치를 나타내며 Mediasoup 서버와의 미디어 연결을 만들고 관리하는 데 사용됩니다. Device 다음 구문을 사용하여 개체를 만들 수 있습니다 .

const device = new mediasoupClient.Device();

다음으로 Mediasoup 서버에서 "Router RTP Capabilities" 정보를 가져와야 합니다. 라우터 RTP 기능에는 지원되는 코덱, 서버 지원 및 관련 미디어 관리 매개변수와 같은 기술 매개변수가 포함되어 있습니다. HTTP API를 통해 또는 Mediasoup 서버와 직접 통신하여 이 정보를 검색할 수 있습니다.

라우터 RTP 기능을 얻은 후 device.load() 이 정보를 객체에 로드하는 방법을 사용하십시오 Device.

예를 들어:

const routerRtpCapabilities = await fetchRouterRtpCapabilities(); // Function to fetch Router RTP Capabilities from the Mediasoup server  
  
await device.load({ routerRtpCapabilities });  

 

전송 생성 및 사용

미디어 스트림을 보내고 받으려면 객체를 생성하고 사용해야 합니다 Transport. 각 Transport 개체는 Mediasoup 서버와의 고유한 미디어 연결을 나타냅니다. 또는 메소드를 Transport 사용하여 객체를 생성할 수 있습니다. device.createSendTransport() device.createRecvTransport()

예를 들어:

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

전송을 생성할 때 서버 URL 및 연결 포트와 같은 구성 매개변수를 제공할 수 있습니다. Transport 또한 관련 미디어 상호 작용을 처리하기 위해 개체 에서 '연결' 또는 '생성'과 같은 이벤트를 수신할 수 있습니다 .

 

Producer 및 Consumer 생성 및 사용

Producer 미디어 스트림을 보내고 받으려면 및 객체를 생성하고 사용해야 합니다 Consumer. A는 Producer 클라이언트에서 서버로 전송되는 미디어 소스를 나타내고, a는 Consumer 서버에서 클라이언트로 수신되는 미디어 소스를 나타냅니다. Producer 방법을 사용하여 생성 transport.produce() 하고 방법을 Consumer 사용하여 생성 할 수 있습니다 transport.consume().

예를 들어:

// Create Producer  
const producer = await transport.produce({  
  kind: 'video',  
  // Producer configuration  
});  
  
// Create Consumer  
const consumer = await transport.consume({  
  // Consumer configuration  
});  
  
// Use Producer and Consumer to send and receive media streams  
// ...  

Producer 및 개체 에서 사용 가능한 메서드와 이벤트를 사용하여 Consumer 데이터 전송, 미디어 스트림 켜기/끄기 전환 또는 관련 미디어 이벤트 처리와 같은 미디어 전송을 제어할 수 있습니다.

 

릴리스 리소스

사용을 마치면 Mediasoup-client 메모리 누수 및 시스템 리소스 문제를 방지하기 위해 리소스를 해제해야 합니다. transport.close() 전송을 닫고 및 메소드 를 사용하여 장치를 언로드하십시오 device.unload().

transport.close();  
device.unload();  

 

Mediasoup-client 다음은 프로젝트에서 설치, 구성 및 사용하기 위한 기본 단계입니다. Mediasoup-client 강력한 기능에 대한 자세한 내용은 문서 및 추가 세부 예제를 참조하십시오 .