대규모 화상 회의를 위해 비디오 스트림을 라우팅하는 WebRTC 호환 SFU(selective forwarding unit)로, Jitsi Meet의 백엔드로 사용됩니다.
meetecho/janus-gateway
컨퍼런싱, 스트리밍, SIP 게이트웨이를 위한 플러그인 아키텍처를 갖춘 범용 오픈 소스 WebRTC 미디어 서버로, C로 작성되었습니다.
- 스타
- 9,199
- 포크
- 2,636
- 열린 이슈
- 30
- 마지막 커밋
- 21시간 전
어떤 프로젝트인가요?
Janus는 Meetecho에서 개발한 범용 WebRTC 서버입니다. 미디어 게이트웨이로서 WebRTC 클라이언트와 다른 시스템 간에 오디오, 비디오, 데이터를 중계하고, WebRTC에 필요한 ICE, DTLS, SRTP 처리를 담당합니다. 코어는 작게 유지하며, 애플리케이션 로직 대부분은 런타임에 로드되는 플러그인에 들어 있습니다.
서버에는 화상 회의 룸, 미디어 스트리밍, SIP 전화 게이트웨이, 오디오 브리지, 녹화 및 기타 용도를 위한 플러그인이 포함되어 있으며, C, Lua 또는 Duktape로 작성한 사용자 지정 플러그인으로 확장할 수도 있습니다. 클라이언트는 JSON 기반 API를 통해 서버를 제어하며, 선택적 라이브러리를 컴파일에 포함했는지에 따라 HTTP REST, WebSockets, MQTT, RabbitMQ 또는 Nanomsg로 API에 연결할 수 있습니다.
Janus는 Linux를 대상으로 하며 macOS에서도 빌드할 수 있고, Windows는 WSL을 통해서만 지원됩니다. Data Channels, WebSockets, MQTT, RabbitMQ 같은 선택 기능은 configure 시 활성화하거나 비활성화할 수 있으며, 테스트용 데모 페이지가 프로젝트의 html 폴더에 제공됩니다.
핵심 기능
- 01비디오 룸, 스트리밍, SIP 게이트웨이, 오디오 브리지 플러그인을 지원하는 플러그인 아키텍처
- 02HTTP REST, WebSockets, MQTT, RabbitMQ 또는 Nanomsg로 연결할 수 있는 제어 API
- 03usrsctp를 통한 WebRTC Data Channels 지원(선택 사항)
- 04C, Lua 또는 Duktape로 사용자 지정 플러그인 작성 가능
- 05ICE Lite, TURN/STUN, NAT 1:1 설정을 포함한 ICE 처리 구성 가능
- 06BoringSSL 지원 및 DTLS 재전송 튜닝(선택 사항)
활용 사례
- WebRTC 기반의 다자간 화상 회의 백엔드 구축
- 시청자에게 라이브 WebRTC 스트림을 중계하거나 RTSP 소스에서 스트림 중계
- 브라우저 WebRTC 클라이언트를 SIP 전화 시스템에 연결
- 서버 측 플러그인을 사용하는 사용자 지정 WebRTC 미디어 서비스 운영
빠른 시작
- 1
사용 중인 배포판에 필요한 종속 항목을 설치합니다(예: Ubuntu/Debian 패키지).
apt install libmicrohttpd-dev libjansson-dev libssl-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config libtool automake - 2
Janus 저장소를 클론합니다.
git clone https://github.com/meetecho/janus-gateway.git - 3
configure 스크립트를 생성한 다음 구성, 컴파일 및 설치를 진행합니다.
sh autogen.sh && ./configure --prefix=/opt/janus && make && make install - 4
기본 구성 파일을 설치합니다.
make configs
사용 전 알아둘 점
- Linux 중심이며 Windows는 지원되지 않고 WSL만 사용할 수 있습니다.
- 선택 사항인 C 종속 항목이 많으며 소스에서 직접 컴파일해야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- janus-gateway은(는) 무엇인가요?
- 컨퍼런싱, 스트리밍, SIP 게이트웨이를 위한 플러그인 아키텍처를 갖춘 범용 오픈 소스 WebRTC 미디어 서버로, C로 작성되었습니다. Janus는 Meetecho에서 개발한 범용 WebRTC 서버입니다. 미디어 게이트웨이로서 WebRTC 클라이언트와 다른 시스템 간에 오디오, 비디오, 데이터를 중계하고, WebRTC에 필요한 ICE, DTLS, SRTP 처리를 담당합니다. 코어는 작게 유지하며, 애플리케이션 로직 대부분은 런타임에 로드되는 플러그인에 들어 있습니다.
- janus-gateway은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- janus-gateway은(는) GPL-3.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- janus-gateway은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. janus-gateway의 마지막 커밋은 2026년 11월 5일입니다.
- janus-gateway은(는) 어디에 사용할 수 있나요?
- WebRTC 기반의 다자간 화상 회의 백엔드 구축 시청자에게 라이브 WebRTC 스트림을 중계하거나 RTSP 소스에서 스트림 중계 브라우저 WebRTC 클라이언트를 SIP 전화 시스템에 연결 서버 측 플러그인을 사용하는 사용자 지정 WebRTC 미디어 서비스 운영
- janus-gateway는 어떻게 설치하나요?
- 사용 중인 배포판에 필요한 종속 항목을 설치합니다(예: Ubuntu/Debian 패키지).: apt install libmicrohttpd-dev libjansson-dev libssl-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config libtool automake Janus 저장소를 클론합니다.: git clone https://github.com/meetecho/janus-gateway.git configure 스크립트를 생성한 다음 구성, 컴파일 및 설치를 진행합니다.: sh autogen.sh && ./configure --prefix=/opt/janus && make && make install 기본 구성 파일을 설치합니다.: make configs
- janus-gateway은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/meetecho/janus-gateway
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Raspberry Pi부터 멀티코어 서버까지 일반 하드웨어를 SIP/VoIP 스위치로 바꾸는 소프트웨어 정의 통신 스택입니다.
Kamailio는 대규모 VoIP, 전화 통신 및 실시간 커뮤니케이션 플랫폼을 위한 오픈소스 SIP 시그널링 서버입니다.
Go로 작성된 셀프 호스팅 화상회의 서버로, WebRTC와 브라우저 기반 클라이언트를 사용합니다.
LiveKit 기반의 셀프 호스팅 오픈소스 웹 화상회의 서버로, 번역·녹취록·요약을 지원하는 AI 회의 에이전트를 선택적으로 사용할 수 있습니다.
Agora의 실시간 오디오·비디오·메시징을 기반으로 한 Web, Windows, macOS용 오픈소스 온라인 교실 클라이언트입니다.