01
신호와 미디어는 다른 길로 갑니다.
누가 들어왔는지, 어떤 코덱으로 연결할지 같은 협상 메시지는 사이트가 직접 운영하는 WebSocket 시그널링 서버를 거칩니다. 하지만 실제 영상 · 음성 패킷은 그 서버를 거치지 않고 참가자끼리 직접 흐릅니다.
Live meeting workspace
이 데모에 대하여
Client Meet은 설치 없이 브라우저만으로 여는 화상회의입니다. 참가자를 이어 주는 신호는 서버를 거치지만, 영상과 음성은 참가자 브라우저끼리 직접 오갑니다.
01
신호와 미디어는 다른 길로 갑니다.
누가 들어왔는지, 어떤 코덱으로 연결할지 같은 협상 메시지는 사이트가 직접 운영하는 WebSocket 시그널링 서버를 거칩니다. 하지만 실제 영상 · 음성 패킷은 그 서버를 거치지 않고 참가자끼리 직접 흐릅니다.
02
직접 연결이 막히면 중계로 넘어갑니다.
공유기 뒤에 있는 기기들은 서로의 주소를 모릅니다. 그래서 STUN 서버에 물어 바깥에서 보이는 주소를 알아내고 가능한 경로를 하나씩 시험합니다(ICE). 그래도 길이 없으면 TURN 서버가 암호화된 패킷을 대신 중계합니다. 기본 설정은 공개 STUN만 쓰므로 회사망처럼 제한이 강한 환경에서는 연결이 안 될 수 있습니다.
03
녹화와 자막은 내 기기에서 만듭니다.
녹화는 브라우저의 MediaRecorder가, 자막은 브라우저 음성 인식 기능이 처리해 결과 파일이 내 기기에만 저장됩니다. 서버는 영상 · 음성을 녹화하지도 보관하지도 않습니다.
인원이 늘면 부담이 커집니다.
이 데모는 참가자마다 연결을 따로 맺는 메시(mesh) 방식이라, 인원이 늘수록 각자의 기기와 회선이 보내야 할 양도 함께 늘어납니다. 소규모 회의를 전제로 만들었습니다. 음성 자막은 지원하는 브라우저에서만 동작하고 인식 정확도도 환경에 따라 다릅니다. 표시 이름 · 채팅 · 연결 협상 메시지가 어떻게 처리되고 무엇이 저장되지 않는지는 개인정보처리방침에 정리해 두었습니다.
참고 자료MDN — WebRTC API ↗RFC 8445 — ICE ↗RFC 8656 — TURN ↗MDN — MediaRecorder ↗이 사이트의 개인정보처리방침
실험을 마쳤다면