01
신호와 미디어는 다른 길로 갑니다.
누가 들어왔는지, 어떤 코덱으로 연결할지 같은 협상 메시지는 사이트가 직접 운영하는 WebSocket 시그널링 서버를 거칩니다. 하지만 실제 영상 · 음성 패킷은 그 서버를 거치지 않고 참가자끼리 직접 흐릅니다.
Live meeting workspace
이 데모에 대하여
Client Meet은 설치 없이 브라우저만으로 여는 화상회의입니다. 참가자를 이어 주는 신호는 서버를 거치지만, 영상과 음성은 참가자 브라우저끼리 직접 오갑니다.
01
신호와 미디어는 다른 길로 갑니다.
누가 들어왔는지, 어떤 코덱으로 연결할지 같은 협상 메시지는 사이트가 직접 운영하는 WebSocket 시그널링 서버를 거칩니다. 하지만 실제 영상 · 음성 패킷은 그 서버를 거치지 않고 참가자끼리 직접 흐릅니다.
02
직접 연결이 막히면 중계로 넘어갑니다.
공유기 뒤에 있는 기기들은 서로의 주소를 모릅니다. 그래서 STUN 서버에 물어 바깥에서 보이는 주소를 알아내고 가능한 경로를 하나씩 시험합니다(ICE). 그래도 길이 없으면 TURN 서버가 암호화된 패킷을 대신 중계합니다. 기본 설정은 공개 STUN만 쓰므로 회사망처럼 제한이 강한 환경에서는 연결이 안 될 수 있습니다.
03
녹화와 자막은 내 기기에서 만듭니다.
녹화는 브라우저의 MediaRecorder가, 자막은 브라우저 음성 인식 기능이 처리해 결과 파일이 내 기기에만 저장됩니다. 서버는 영상 · 음성을 녹화하지도 보관하지도 않습니다.
04
권한은 필요할 때만 묻습니다.
페이지를 여는 것만으로는 카메라와 마이크 권한을 요청하지 않습니다. 입장하거나 장치 테스트를 누를 때 비로소 묻습니다. 화상회의 도구가 열자마자 권한을 요구하면 무엇에 쓰이는지 모른 채 허용하게 되므로, 사용자가 의도를 가지고 누른 시점에 묻는 편이 맞다고 봤습니다.
05
초대 링크에 만료가 있습니다.
링크를 아는 사람이면 누구나 들어올 수 있는 구조라, 링크가 오래 유효하면 회의가 끝난 뒤에도 접근 경로가 남습니다. 그래서 유효 시간을 두었습니다. 별도의 계정 체계가 없는 도구에서 방을 보호하는 가장 단순한 방법이기도 합니다.
06
메시 방식이라 인원에 민감합니다.
중앙 서버가 영상을 모아 나눠 주는 것이 아니라 참가자끼리 직접 연결하므로, 인원이 하나 늘 때마다 각자가 유지해야 할 연결이 함께 늘어납니다. 서버 비용이 들지 않는 대신 부담이 참가자 기기로 옮겨 간 구조이고, 소규모에서만 성립하는 선택입니다.
07
브라우저 기능에 기댑니다.
녹화와 자막은 별도 서버 없이 브라우저가 제공하는 기능을 그대로 씁니다. 덕분에 설치가 필요 없고 파일도 내 기기에만 남지만, 브라우저마다 지원 여부와 품질이 다릅니다. 같은 회의에서도 참가자에 따라 쓸 수 있는 기능이 다를 수 있습니다.
08
연결이 실패할 수 있습니다.
기본 설정은 바깥에서 보이는 주소를 알아내는 서버만 쓰고 중계 서버는 두지 않았습니다. 대부분의 가정용 회선에서는 직접 연결이 되지만, 제한이 강한 회사망이나 일부 이동통신 환경에서는 길을 찾지 못해 연결이 실패합니다. 이 경우 사용자가 직접 중계 서버 설정을 넣어야 하며, 그 서버를 운영하는 쪽은 연결 관련 정보를 처리하게 됩니다.
09
방은 메모리에만 있습니다.
회의방 정보와 참가자 목록은 데이터베이스가 아니라 서버 메모리에만 있습니다. 마지막 참가자가 나가면 방 자체가 사라지고 기록도 남지 않습니다. 회의 내용을 나중에 다시 볼 수 없다는 뜻이기도 하므로, 남겨야 할 것이 있다면 회의 중에 각자 저장해야 합니다.
10
배치를 바꿀 수 있습니다.
모두를 같은 크기로 보는 배치, 말하는 사람을 크게 보는 배치, 창을 직접 옮겨 놓는 배치를 고를 수 있습니다. 회의 성격에 따라 보고 싶은 것이 달라지기 때문인데, 발표를 듣는 자리와 여러 명이 번갈아 말하는 자리는 필요한 화면이 다릅니다.
11
설치 없이 동작합니다.
브라우저만 있으면 되고 별도 프로그램을 깔지 않습니다. 잠깐 이야기하려고 프로그램을 설치하고 계정을 만드는 과정이 부담스러운 상황을 겨냥한 도구입니다. 대신 브라우저가 제공하는 기능의 범위 안에서만 동작하고, 최신 브라우저를 쓰지 않으면 일부 기능이 빠질 수 있습니다.
인원이 늘면 부담이 커집니다.
이 데모는 참가자마다 연결을 따로 맺는 메시(mesh) 방식이라, 인원이 늘수록 각자의 기기와 회선이 보내야 할 양도 함께 늘어납니다. 소규모 회의를 전제로 만들었습니다. 음성 자막은 지원하는 브라우저에서만 동작하고 인식 정확도도 환경에 따라 다릅니다. 표시 이름 · 채팅 · 연결 협상 메시지가 어떻게 처리되고 무엇이 저장되지 않는지는 개인정보처리방침에 정리해 두었습니다. 이 도구는 개인이 만든 데모이므로 업무용 화상회의 서비스를 대신할 수 없고, 가용성이나 통화 품질을 보장하지 않습니다. 중요한 회의에는 정식 서비스를 쓰는 편이 안전하며, 녹화나 자막을 사용할 때는 참가자에게 미리 알리고 동의를 얻어야 합니다.
참고 자료MDN — WebRTC API ↗RFC 8445 — ICE ↗RFC 8656 — TURN ↗MDN — MediaRecorder ↗이 사이트의 개인정보처리방침
실험을 마쳤다면