<aside>

</aside>

은서

일반적인 미디어 서버의 흐름

image.png

  1. 유저가 SDP를 생성한다.

    <aside>

    SDP는 멀티미디어 세션을 위한 프로토콜로, webRTC에서 미디어 스트림의 속성을 설명하기 위한 핵심 프로토콜이다. 비디오/오디오 코덱, 네트워크 정보, 대역폭 정보, 보안 정보 등을 교환하는 역할을 한다.

    </aside>

  2. websocket 등으로 구현된 시그널링 서버를 통해 유저끼리 SDP를 교환한다.

  3. 미디어 권한을 획득한다.

  4. NAT 환경을 대비해 ICE Candidate를 수집하고 다시 한번 교환한다.

    <aside>

  5. 미디어 서버(SFU)와 SDP를 교환한다.

  6. 미디어 스트림 전송을 시작한다.

mediasoup이란

음성 통화, 영상 통화 등 미디어를 다루는 미디어 서버를 편리하게 구축하게 해주는 미디어 서버 오픈 소스 라이브러리이다.

webRTC, SFU 기반 p2p 서버이기 때문에 낮은 지연률과 높은 확장성을 보장한다.

일반적인 미디어 서버와 다른 점은 다음과 같다.

시그널링 처리 방식

일반 webRTC는 시그널링 서버를 통해 P2P로 SDP를 교환하지만, mediasoup는 자체 시그널링 프로토콜을 제공하지 않기 때문에 개발자가 직접 구현해야 한다.

미디어 라우팅

일반 webRTC는 주로 P2P나 단순 중계를 하지만 mediasoup는 더 정교한 라우팅을 제공한다. 개별 트랙 레벨 제어, 동적 비디오 레이어 스위칭, 선택적 구독 등이 가능하다.