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 강력한 기능에 대한 자세한 내용은 문서 및 추가 세부 예제를 참조하십시오 .