Ninja Docs
Updates - Mixer App
Mixer App

August 17

  • Added a setting to disable auto-slot assignment to the mixer. (requires a hard browser cache refresh of all VDO.Ninja links for the mixer to work properly with this change) * on alpha @

August 16

  • Solo links are setup to use &solo instead of &scene now; it's the same outcome, except &solo tells the system not to apply custom 'layouts' to them. Links updates in the director's room and the mixer app.
  • Changes to how layouts are issued have been updated -- you'll need to do a hard browser refresh (particularly in OBS) for things to work now, if using alpha + mixer.
  • Invite/scene links in the mixer get copied to the clipboard when pressed, rather than open.
  • Added some options for customizing guest links in the mixer app -- one of them is to disable the &broadcast mode. For the time being, guests not in &broadcast mode will have director-issued layouts apply to them. (I may change this to a custom flag instead in the future, as I am still exploring ideas currently to make things intuitive yet flexible)
  • If a guest is using &minipreview and is issued a layout, the mini preview only shows now if they are not in the current layout.

August 11

  • The Mixer App now has initial support for the http/wss API.{apikey}/layout/N to use, where N is the layout (starting at 1). 0 is auto-mix. (feedback valued, as more will be added to this over time)
  • Fixed a switching bug with mixer on alpha and added in the director's control bar, so they can share video/audio.; with this, you can output the OBS Virtual cam feed to the guests, as they will be in broadcast-mode already.

June 16

  • Minor fixes to the mixer have been applied; (lots more to do)

May 16

  • More improvements to the mixer-app on alpha; mainly UX/UI improvments, with a couple bug fixes. (

May 15

  • The Mixer App ( has been updated with changes. While the mixer is still under exploratory development, it uses a new UX/UI approach to assigning guests to slots. Much less drag/drop-based. These changes were based on user-feedback; lots more feedback to still dig thru.
  • Side note: It should be possible to assign slots to videos within the normal director mode. Adding &slotmode enables it for the director. While the layout switching options of the mixer will be missing when doing this as a normal director, you can still specify &layout via he URL for multiple scenes that will obey the slot assignments. (might interest advanced users or inspire user suggestions).

April 27

  • Keyboard hotkey support added to the mixer app on (change layouts using 0 to 9). plus other fixes/tweaks.

April 26

  • Beta updated will all recent changes, including mixer.

April 25

  • has further fixes/tweaks. Basic, but functional now I think.

April 24

  • While it's still a work in progress, the Mixer App has hit a new milestone of development and is up on alpha at Some of the functions available now in the update mixer:
  • The ability to switch between a preview of the mixed scene and the director's view (toggle button for this)
  • Each element allows for setting of: border thickness, color, margin, border roundness, media coverage, background image (URL), and animated transition.
  • Scene editor, with drag/resize capabilities
  • Layout refreshes automatically on scene reload
  • Default layout is scene load now blank
  • Saves scenes to local storage, for reuse
  • Copy/paste export of JSON of constructed scenes for use in the URL without needing mixer controller (&layout=JSONOBJECT)
  • Most of the work so far has gone into rewriting parts of the mixer logic to support more complex layouts, but also aspects like switching between director view and scene view has required a few nights of head bashing.
  • I'm hoping to get this all tied up as soon as possible and released as a v22, where I'll continue to refine things. (still some lingering bugs and a couple broken features)

April 1

  • Fixed a password issue with the (passwords can be set via the URL now)

January 2

  • Removed the animated background of the mixer app based on feedback (more feedback on it welcomed)


December 14

November 2

  • Made some improvements to the prototype mixer I've been working on; on alpha I'm still experimenting with it, but you can add custom layouts now. I think it's functional, but the UI/UX still stinks.

October 24

  • Updated beta with a version of the mixer prototype that controls &scene=0 now remotely and doubles as the director. I'm still playing around with integration/UI ideas, but the mixing logic is now mostly there at least. Open to feedback; thank you for feedback / ideas so far. Go here to play with the updated mixer prototype. A guest link and scene-link are provided, so you just need to enter a room name on page load. Drag guests into a slot, select a layout, and the scene will update. That is, &scene=0 (scene view link), which you need to open in a new tab or in OBS.

October 20

  • Created a sample app that allows for custom-layouts and mixing, using just VDO.Ninja and basic Javascript. It's a very crude prototype of what's possible via the IFRAME API. I'll be extending a version of it to allow for structured scene layouts and custom dynamic layout switching in the director's control center, etc.
  • To play with this prototype though: Go to above link, enter a room name when prompted, and then open a few guest feeds with the "invite guest link" button.
  • Next, as your guests streams join, their associated stream ID will appear on the far left. Drag a stream ID into a slot position: 1,2,3 or 4. You can do this for up to 4 stream Ids, as there are 4 slots.
  • Once guests are loaded into slots, you can select a scene layout at the top of the page. It will apply the scene layout, relative to what has been assigned to the slots. If a slot is empty, it will be left empty when drawing the layout.
  • Stream IDs can be dragged to other spots or removed. Must select the scene layout to re-apply after It should be possible to create custom layouts, with assets, transitions and effects, when I'm done.
  • I'm open to ideas and thoughts on how this could be integrated into the director's control center; or how best to move forward. I'm off to bed for now though.
Copy link