Janus Dependency를 설치하자.
https://janus.conf.meetecho.com/docs/js-modules.htm
Janus 사용의 가장 중요한 것은 Janus Object를 생성하는 것이다.
사용할 처음부분에서 초기화하여 사용하자. (Janus.init 사용)
Janus.init({
debug: true,
dependencies: Janus.useDefaultDependencies(), // or: Janus.useOldDependencies() to get the behaviour of previous Janus versions
callback: function() {
// Done!
}
});
debug:
JS 콘솔에 표시
true
or "all"
: 모든 디버거 켜기 (Janus.trace, Janus.debug, Janus.log, Janus.warn, Janus.error)["trace", "warn"]
)false:
모든 디버거 끄기callback:
초기화 완료 후 콜백dependencies:
Janus Library Dependencies 추가 제공할 시 사용Janus Object가 생성되었다면 세션을 생성해야한다.
각각 브러우저 탭마다 서버와 통신할 하나의 세션이 필요하다. (세션은 서로 다른 몇몇개의 Plugin Handler를 동시에 포함할 수 있다. ⇒ 같은 세션을 가진 같은 유저는 같거나 다른 Plugin으로 서로 다른 몇몇개의 WebRTC 세션을 사용할 수 있음을 의미한다.)
세션을 만드는 생성자는 아래와 같은 파라미터를 가질 수 있다.
server:
서버 주소 (HTTP REST 방식 사용할 시 http://yourserver:8088/janus, WebSocket 방식 사용할 시 ws://yourserver:8188/) 둘 다 사용할거면 배열 형식으로 가능iceServers:
사용할 STUN/TURN 서버 리스트 (적지 않을 시 config에 기입한 디폴트 STUN 서버 사용)ipv6:
IPv6 후보를 수집해야 하는지 여부를 설정한다.withCredentials:
XHR 요청의 withCredentials 속성을 사용 설정해야 하는지 여부를 결정한다.(기본적으로 false이며 HTTP를 전송으로 사용할 때만 유효하며 WebSocket의 경우 무시됨)max_poll_events:
Polling 시 반환되어야 하는 이벤트 수. 디폴트는 1이며, 더 높은 숫자를 전달하면 백엔드가 대신 객체 배열을 반환한다(다시 말하지만, Long Polling과 관련되어 있기 때문에 HTTP 사용에만 유효하며 WebSocket에서는 무시된다).