GitHunt
RS

rse/vdo-ninja-trampoline

VDO.Ninja Trampoline

VDO.Ninja Trampoline

About

VDO.Ninja (formerly OBS.Ninja) is an awesome
peer-to-peer (P2P), WebRTC and browser based
solution for bringing the video/audio streams of presenters into the
live event production software OBS Studio with
very low latency and high quality.

This form is just a URL simplification trampoline, i.e., it takes a
few intuitive URL parameters and redirects to the underlying complex
technical URL of VDO.Ninja. It allows you to
control VDO.Ninja parameters at a central place
while being able to use clean, intuitive and stable URLs for both the
presenters and OBS Studio.

The underlying VDO.Ninja parameter sets are rather
opinionated and hard-coded and are intended for meeting or broadcast
sessions with multiple presenters only. Broadcast sessions are like
meetings, where presenters can hear but not see each other, to reduce
the network bandwidth requirements of presenters.

Sneak Preview

VDO.Ninja Trampoline

Usage

Go to VDO.Ninja Trampoline
(or your own website hosting VDO.Ninja Trampoline) and just use the form.
The form fields are:

  • Room Id:
    This is the room identifier, corresponding to the room parameter of
    VDO.Ninja. It has to be globally unique.

  • Room Password:
    This is the room password, corresponding to the password parameter of
    VDO.Ninja. It protects access to your room.

  • Session Mode:
    This is the mode the peer is operating under:

    • attendee:
      a person in a regular meeting, i.e., all attendees share their video
      and audio to each other. This causes lots of WebRTC connections and
      hence should be used for about 5-10 peers only. This is intended for
      regular meeting participants.
    • sender:
      a person in a broadcast meeting, i.e., all sender share only their
      audio with each other and their video with just the director (in
      lower-quality) and the receiver (in high-quality). This is intended
      for presenters in a produced online event.
    • follower:
      like sender, but without sharing video at all. This is intended
      for assistents in a produced online event in order to observe the
      senders.
    • injector:
      like follower, but without even sharing audio at all. This is
      intended for assistents in a produced online event in order to just
      inject chat messages to the senders.
    • receiver:
      the OBS Studio "Browser Source" receiving the video/audio stream
      of a particular sender.
    • collector:
      the OBS Studio "Browser Source" receiving the video/audio streams
      of all senders at once.
    • director:
      the director of the online event in order to control
      the senders and interact with the senders.
  • Session Video:
    This is the video mode the peer is operating under, mapped onto the
    quality andvideobitrate parameters of VDO.Ninja.

  • Session Audio:
    This is the audio mode the peer is operating under, mapped onto the
    stereo and audiobitrate parameters of VDO.Ninja.

  • Peer Id:
    This is the peer identifier, corresponding to the view and push
    parameters of VDO.Ninja. It has to be locally unique to the room identifier.

  • Peer Name:
    This is the peer name, corresponding to the label parameter of
    VDO.Ninja. It can be an arbitrary name, but should explain the peer.
    It is displayed to the director only.

  • Source URL:
    This is your entry point.
    Copy this URL for accesssing VDO.Ninja through the clean, intuitive
    and stable parameters of VDO.Ninja Trampoline.

  • Target URL:
    This is the redirection URL, based on the underlying complex parameters
    of VDO.Ninja. This is shown just for comprehension purposes.

Installation

There is no installation needed if you are using the Github URL
https://rse.github.io/vdo-ninja-trampoline/. If you want to
use a different URL then copy the files index.html
and jquery.js to your own website.

License

Copyright © 2021 Dr. Ralf S. Engelschall

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Languages

HTML100.0%

Contributors

Created February 13, 2021
Updated September 3, 2025
rse/vdo-ninja-trampoline | GitHunt