Janus plugin to stream publisher audio and video merged into a single RTMP stream to YouTube, Facebook, Instagram, Twitch and any other live streaming service accepting RTMP protocol.
See here for API documentation on how to communicate with the plugin.
PRs and GitHub issues are welcome.
This is a plugin for Janus, so you'll need to install and run Janus first. The installation instructions on GitHub are canonical. It's built for Janus version 0.10.7 and should support later versions.
This plugin should be compatible with any OS that can run Janus; that includes Linux, OS X, and Windows via WSL.
These are the native dependencies necessary for building. The plugin is based on the excellent and resource-efficient GStreamer and thus we need to install some of dependencies.
$ sudo apt-get install \
libgstreamer1.0-dev \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad
To build the plugin we also need headers from Janus. Assuming that the
sources of Janus are at /janus-gateway
and it is installed into
/usr/local
.
$ sudo cp /janus-gateway/{.,plugins}/*.h /usr/local/janus
$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ make install
The plugin accepts a configuration file in the Janus configuration directory named janus.plugin.rtmp.cfg
containing key/value pairs in INI format. An example configuration file is provided as conf/janus.plugin.rtmp.cfg.sample
.
- Replace port-based solution with passing direct RTP packets to GStreamer
- Support for multiple URLs