shakurocom / janus-plugin-rtmp

Janus plugin for RTMP broadcasting
GNU General Public License v3.0
16 stars 11 forks source link

janus-plugin-rtmp

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.

How do I use the plugin?

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.

Dependencies

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

Building and installing

$ ./autogen.sh
$ ./configure --prefix=/usr/local
$ make
$ make install

Configuration and usage

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.

Future plans