项目作者: michaelfranzl

项目描述 :
Small, ES8, isomorphic library for interfacing with the Janus WebRTC gateway.
高级语言: JavaScript
项目地址: git://github.com/michaelfranzl/minnie-janus.git
创建时间: 2018-01-01T11:09:44Z
项目社区:https://github.com/michaelfranzl/minnie-janus

开源协议:MIT License

下载


minnie-janus

Test badge

A small, modern, general interface module written in ES8 Javascript for the Janus WebRTC gateway
API
, for browsers as well as Node.js.

Inspiration came from the project minijanus (hence this
name, ‘minnie-janus’), but this is a rewrite from scratch because I needed ES modules, events,
async/await syntax, better logging, and a fix of one small
API issue in minijanus.

Provided are two behavior implementations, Session (see src/session.js) and
BasePlugin (see src/base-plugin.js), which transparently map to their
server-side equivalents.

BasePlugin is supposed to be extended with per-plugin logic before being attached to a Session
instance, because Janus plugins are more like applications with very specific behavior. See
examples below on how to extend the BasePlugin implementation.

Neither Session nor BasePlugin instances actually communicate with janus-gateway. The parent
application instantiating a Session is responsible for wiring up the transport of choice (REST
HTTP(S), (Secure) WebSockets, etc.) to the Session.receive() method and the Session#output
event.

Usage of mini-janus is best illustrated by the full demo/example implementing the ‘echotest’ plugin
(included in Janus’ source code). It can be found in the demo subdirectory (see also
demo/README.md there).

The implementation has been automatically tested against the following janus-gateway versions:

  • 0.7
  • 0.8
  • 0.9
  • 0.14

Usage

See:

  1. echotest demo contained in this repository
  2. janus-rtpforward-plugin demo