간단하게 쓸 용도의 WebRTC기반의 화상회의 플랫폼입니다. 오픈소스이고 도커로 쉽게 설치가 가능합니다.
Mirotalk은 오픈소스 WebRTC 기반의 화상 회의 플랫폼입니다. 주요 특징들을 설명해드리겠습니다:
주요 특징:
- 브라우저 기반으로 별도의 설치가 필요 없습니다.
- 실시간 화상/음성 통화를 지원합니다.
- 화면 공유 기능을 제공합니다.
- 채팅 기능이 포함되어 있습니다.
- 개인정보 보호를 위한 P2P(Peer-to-Peer) 연결을 사용합니다.
기술적 특징:
- WebRTC 기술을 기반으로 구축되었습니다
- 오픈소스로 제공되어 직접 호스팅이 가능합니다
- Node.js로 개발되었습니다
- Socket.io를 사용하여 실시간 통신을 구현했습니다
사용 방법:
- 웹사이트에 접속합니다
- 회의실 생성 또는 참여를 선택합니다
- 카메라와 마이크 권한을 허용합니다
- URL을 공유하여 다른 참가자를 초대할 수 있습니다
보안 기능:
- 종단간 암호화(E2EE) 지원
- 회의실 비밀번호 설정 가능
- 참가자 권한 관리 기능
Mirotalk은 특히 자체 호스팅이 가능한 오픈소스 솔루션을 찾는 기업이나 단체에게 적합한 선택이 될 수 있습니다.
라고 클로드가 설명해 주는데요, 깃헙에 있는 내용을 추가로 기재 하자면
Mirotalk의 주요 특징들을 번역해드리겠습니다:
- 100% 무료 – AGPLv3 라이선스의 오픈소스 – 자체 호스팅 가능하며 PWA(Progressive Web App) 지원!
- 다운로드, 플러그인, 로그인이 필요 없음 – 완전한 브라우저 기반
- 시간 제한 없는 무제한 회의실 제공
- 133개 언어로 번역 지원
- OpenID Connect (OIDC) 인증 레이어 지원
- 무단 접근 방지를 위한 호스트 보호 기능
- 무단 접근 방지를 위한 사용자 인증
- 회의실 비밀번호 보호
- JWT.io를 통한 호스트 구성 및 사용자 인증을 위한 보안 자격 증명 관리로 보안 강화 및 프로세스 간소화
- 데스크톱 및 모바일 기기 호환
- 최적화된 모바일 회의실 URL 공유
- 모바일 기기의 전면/후면 카메라 지원 웹캠 스트리밍
- 발언 감지 및 볼륨 표시기가 있는 선명한 오디오 스트리밍
- 프레젠테이션을 위한 화면 공유
- 드래그 앤 드롭 지원 파일 공유
- 오디오 입력, 출력 및 비디오 소스 선택 가능
- 최대 8K 및 60 FPS의 비디오 품질 지원
- 더욱 간소화되고 유연한 시청 경험을 제공하는 향상된 PiP(Picture-in-Picture) 지원
- 화면, 오디오 및 비디오 녹화
- 비디오 프레임을 스냅샷으로 촬영하여 PNG 이미지로 저장
- 이모티콘 선택기, 개인 메시지, 마크다운 지원, 대화 저장이 가능한 채팅
- ChatGPT(OpenAI 제공)를 통한 질문 답변, 정보 제공 및 관련 리소스 연결
- 음성 메시지 전송을 위한 음성 인식
- 무전기와 유사한 Push-to-talk 기능
- 교사를 위한 고급 협업 화이트보드
- YouTube 임베드 비디오, 비디오 파일(MP4, WebM, OGG) 및 오디오 파일(MP3)의 실시간 공유
- 원클릭 비디오 요소 확대 및 고정/고정 해제가 가능한 전체 화면 모드
- 사용자 정의 가능한 UI 테마
- 추가 제어를 위한 비디오 요소의 우클릭 옵션
- WebRTC를 통한 저지연 통신을 위한 직접적인 P2P 연결
- REST API(Application Programming Interface) 지원
- 향상된 커뮤니케이션을 위한 Mattermost 통합
- 향상된 커뮤니케이션을 위한 Slack 통합
- 오류 보고를 위한 Sentry 활용
oidc를 지원해서 구성원들만 사용하도록 할 수 있고, 방 만들고 나서 설정에서 방을 비번으로 잠글 수도 있어서 나름 괜찮은 솔루션인것 같습니다.
요거를 일단 회사 내부 서버에 설치해봤는데, 성능이 낮은 서버에서도 메모리만 넉넉히 주면 20~30명 수준의 화상회의는 아무 문제 없이 아주 잘 됩니다.
처음에는 jitsi를 설치했는데, 이건 외부에서 음성이 안들리는 등 문제가 좀 있어서 그냥 미로톡을 설치했는데 이건 뭐 너무 쉽게 그냥 잘 되는군요 ^^
회사에서는 mattermost라는 슬랙과 유사한 협업툴을 사용하는데, 여기에 슬래시 명령어를 통해 쉽게 방을 만들고 들어올 수 있도록 했습니다.

이런식으로 말이죠….. (이렇게 하려면 .env에 mattermost에 대한 설정을 해주고, 매터모스트 통합 -> 슬래시명렁어 만들기를 해 줘야 합니다)

접속하면 이런 화면이 나오고요, 조인룸 버튼을 누르면 바로 방을 만들고 들어갈 수 있습니다.
화면 공유도 되고, 화이트보드 기능도 있고, 기본 기능은 매우 충실합니다.
* https를 사용해야 웹브라우저에서 카메라와 마이크를 사용할 수 있습니다. 뭐 우회하는 방법이 있을테지만 기본적으로 그렇습니다;;;; (그러니 꼭 https로….)
oidc 설정을 하면, 메인 페이지 접속을 위한 sso 사용이 가능합니다. 해당 설정은 .env 파일에서 아래 부분을 설정해 주면 됩니다.
OIDC_ENABLED=true
OIDC_ISSUER=https://your-oidc-provider.com
OIDC_CLIENT_ID=your_client_id
OIDC_CLIENT_SECRET=your_client_secret
OIDC_CALLBACK_URL=https://your-mirotalk-domain/auth/oidc/callback
OIDC_SCOPE=”openid profile email”
요렇게 env파일에 추가해 주시면 됩니다.
설치 방법은
# clone this repo $ git clone https://github.com/miroslavpejic85/mirotalk.git # go to mirotalk dir $ cd mirotalk # copy .env.template to .env (edit it according to your needs) $ cp .env.template .env # Copy app/src/config.template.js in app/src/config.js (edit it according to your needs) $ cp app/src/config.template.js app/src/config.js # Copy docker-compose.template.yml in docker-compose.yml (edit it according to your needs) $ cp docker-compose.template.yml docker-compose.yml # Get official image from Docker Hub $ docker pull mirotalk/p2p:latest # create and start containers $ docker-compose up # -d
이 방법으로 설치하면 아주 쉽게 웹접속이 가능합니다.
라이브 데모 :
검색해봐도 잘 안나오길래 일단 써봅니다.. ^^