mediasoup 구현 정리

developer_jennifer·2023년 7월 23일
0

크래프톤 정글

목록 보기
28/29

reference : Mediasoup를 사용해서 sfu방식으로 구현

정글 사관학교를 수료하신 분께서 mediasoup 구현 방식을 자세하게 올린 블로그 글입니다.
이렇게 자세하게 올려주신 덕분에 구현이 수월했습니다!! 감사합니다🙏

mediasoup의 기본 용어

- Transport

각 클라이언트를 mediasoup router와 연결해서 producer와 consumer 간의 미디어 전송을 가능하게 한다.
router로 부터 만들어지는 것으로 producer와 consumer를 만들기 위해서는 무조건 생성해야 한다.

- Router

라우터를 사용해서 미디어 스트림을 전달할 수 있고, 일반적을 하나의 room에 하나의 라우터가 생성되고 모든 peers가 해당 라우터를 공유한다.
worker로부터 생성된다.

- worker

worker mediasoup의 미디어 서버를 나타냄

🤔 이때 미디어 서버란?

💡 실시간 미디어 스트리밍 및 통신을 처리하는 서버, 네트워크를 통해 오디오, 비디오 및 기타 미디어 데이터를 전송하고, 클라이언트 간에 실시간으로 이러한 미디어 데이터를 교환하도록 도움

- DTLS

💡 데이터그램 전송 계층 보안 프로토콜, 안전한 데이터 전송을 제공하기 위해 설계된 프로토콜

UDP 기반의 통신환경에서 안전한 통신을 제공하기에 데이터의 기밀성과 무결성이 중요한 실시간 통신 시나리오에서 많이 활용

- producer

router를 통해 media를 보내는 쪽
mediasoup 서버에서 생성되고 관리되며 미디어 스트림을 생성

- consumer

router를 통해 media를 받는 쪽
mediasoup 클라이언트에서 생성되며 서버로 부터 제공되는 미디어 스트림을 화면에 표시하거나 오디오를 재생

mediasoup의 구조

mediasoup의 기본적인 용어를 공부했으니 이제 어떻게 구성되어 있는지 확인해보자

처음 접속할 때 worker를 생성하고 peers가 공유할 수 있는 router를 할당해주고 consumer와 producer의 통신을 위해 transport를 통해 미디어,비디어 전송을 한다.

worker를 먼저 생성해주고 그 안에서
room 하나 만들때 마다

  • router 1개 할당
  • 접속한 사용자들 마다 transport 할당

우리팀이 구현하는 통신은 모두가 모두에게 비디오, 오디오 스트림을 보내고 또 모두에게 스트림을 받아야 하는 구조이므로 이런 구조를 가져야 한다.

mediasoup 통신 과정

이게 되게 어렵긴 한데 한번 이해하면 괜찮다고 한다 근데 왜 난 여러번 봐도 어렵지...?

profile
블로그 이전합니다 -> https://heekyoung2000.tistory.com/

0개의 댓글

관련 채용 정보