블로그로 돌아가기

WebRTC 완전 정리 — 웹소켓과의 차이부터 화상회의 서비스 실제 사례까지

화상회의 목소리는 서버를 거치지 않습니다. WebRTC가 무엇인지, 왜 직접 연결인데 서버가 필요한지, 웹소켓과 어떻게 다른지, 구글 미트·디스코드·슬랙 허들 등 실제 사례까지 정리했습니다.

에그코드
2026년 8월 8일
9 min read
#WebRTC#화상채팅#웹소켓#화상회의#디스코드##슬랙#구글미트#영상통화#IT개발#백엔드#MVP개발#개발자#에그코드
WebRTC가 브라우저끼리 서버를 거치지 않고 직접 연결되는 구조를 정리한 표지 이미지
화상회의 목소리는 서버를 거치지 않습니다

화상회의에서 상대의 목소리가 들립니다.

그 소리는 회사 서버를 거쳐서 온 게 아닙니다.

상대의 노트북에서 내 노트북으로 곧장 넘어왔습니다.

이걸 가능하게 하는 기술이 WebRTC입니다.

그런데 "실시간"이라는 말 때문에 웹소켓과 자주 헷갈립니다.

둘은 경쟁 관계가 아닙니다.

무엇이고, 웹소켓과 뭐가 다르고, 어디에 쓰이는지 정리했습니다.


브라우저끼리 직접 연결합니다

보통의 웹은 전부 서버를 거칩니다.

내가 올린 사진도 서버에 저장됐다가 상대에게 갑니다.

WebRTC는 이 중간을 건너뜁니다.

브라우저와 브라우저가 직접 통로를 뚫습니다.

설치할 프로그램도 플러그인도 없습니다.

브라우저에 이미 들어 있는 기능입니다.

2021년 1월 W3C 정식 표준으로 확정됐습니다.

암호화는 선택 사항이 아닙니다.

규격상 암호화되지 않은 연결은 아예 열리지 않습니다.

WebRTC와 일반 웹 통신의 경로 차이를 비교한 이미지
사진 한 장과 실시간 영상은 지나가는 길 자체가 다릅니다

직접 연결인데 서버가 필요합니다

두 사람 모두 공유기 뒤에 숨어 있기 때문입니다.

서로의 진짜 주소를 모릅니다.

그래서 서버 세 종류가 따로 붙습니다.

시그널링 서버는 소개를 맡습니다.

"이런 화질로 통화 가능한가요"를 대신 전달합니다.

STUN 서버는 거울 역할입니다.

"당신의 바깥 주소는 이겁니다"라고 알려줍니다.

TURN 서버는 우회로입니다.

직접 연결이 끝내 실패하면 트래픽을 대신 날라줍니다.

실제 통화의 약 20%가 TURN을 거칩니다. 회사 방화벽 안에서는 이 비율이 더 올라갑니다.

TURN은 영상을 그대로 통과시킵니다.

그래서 여기서 대역폭 비용이 발생합니다.

시그널링 STUN TURN 서버가 각각 하는 역할을 정리한 이미지
직접 연결을 성사시키기 위해 붙는 서버 세 종류

웹소켓과 뭐가 다를까

첫째, 나르는 짐이 다릅니다.

웹소켓은 텍스트와 이벤트를 나릅니다.

채팅 한 줄, 주문 알림, 시세 숫자입니다.

WebRTC는 소리와 영상을 나릅니다.

용량이 비교가 되지 않습니다.

둘째, 손실을 대하는 태도가 반대입니다.

웹소켓은 순서와 도착을 보장합니다.

채팅은 한 글자만 빠져도 말이 안 되니까요.

미디어는 늦게 온 프레임을 그냥 버립니다.

0.5초 늦은 영상보다 살짝 깨진 지금 영상이 낫습니다.

구분웹소켓WebRTC
나르는 것텍스트 · 이벤트소리 · 영상
경로서버를 거칩니다브라우저끼리 직접
손실 처리순서와 도착을 보장늦은 프레임은 버림
서버 부담연결 수만큼 증가미디어는 거의 없음

그리고 반전이 하나 있습니다.

둘은 대부분 함께 쓰입니다. 앞에서 말한 시그널링을 웹소켓으로 구현하는 경우가 많습니다.

웹소켓과 WebRTC의 전송 대상과 손실 처리 방식을 비교한 이미지
둘 다 실시간이지만 맡는 일이 다릅니다

참가자가 늘면 구조가 바뀝니다

1:1 통화는 직접 연결로 충분합니다.

문제는 인원이 늘어날 때입니다.

5명이 전부 직접 연결하면 각자 영상 4개씩을 올려보내야 합니다.

노트북 팬이 돌고 배터리가 녹습니다.

그래서 중계 서버(SFU)를 둡니다.

내 영상은 서버로 한 번만 올립니다.

서버가 나머지 참가자에게 나눠서 뿌립니다.

다인원 화상회의는 대부분 이 구조입니다.

참가자 수에 따라 P2P 구조가 SFU 중계 구조로 바뀌는 과정을 정리한 이미지
5명 회의 기준, 연결 10개가 5개로 줄어듭니다

실제 서비스 사례 6가지

하나, 구글 미트. 설치 없이 브라우저만으로 회의방이 열립니다.

둘, 디스코드 음성 채널. 게임 중에도 지연이 체감되지 않습니다.

셋, 슬랙 허들. 클릭 한 번으로 통화가 시작됩니다.

넷, 줌 웹 버전. 앱 대신 브라우저로 들어가면 이 경로입니다.

다섯, 비대면 진료·상담의 화상채팅. 병원 앱 안에서 바로 얼굴을 봅니다.

여섯, 화면 공유 원격 지원. 카메라 대신 화면을 실어 보냅니다.

여섯 가지에 공통점이 있습니다.

몇 초만 늦어도 대화가 성립하지 않습니다.

구글 미트 디스코드 슬랙 허들 등 실제 서비스의 WebRTC 활용 사례를 정리한 이미지
이미 매일 쓰고 있는 서비스들입니다

마치며

지연 시간은 보통 0.2초에서 0.5초입니다.

일반 라이브 방송(HLS)은 2초에서 30초입니다.

그럼 전부 이 기술로 바꾸면 될까요.

아닙니다.

시청자가 수만 명인 일방향 방송에는 HLS가 낫습니다.

CDN에 얹어서 훨씬 싸게 뿌릴 수 있기 때문입니다.

기준은 하나로 정리됩니다.

시청자가 대화에 끼어들어야 하는가.

끼어들어야 하면 WebRTC, 보기만 하면 HLS입니다.

WebRTC와 HLS 중 무엇을 선택할지 판단하는 기준을 정리한 이미지
지연 시간만 보면 압도적이지만, 그게 항상 정답은 아닙니다

함께 읽어보세요 — 웹소켓을 언제 쓰고 언제 피해야 하는지 · SSE로 AI 답변을 한 글자씩 흘려보내는 원리 · 에그코드 앱 개발 서비스


문의하기

MVP 개발, 어디서부터 시작해야 할지 모르겠다면?

무료 MVP 견적 받기
카카오톡 문의