Ninja Docs
Ask or search…
Comment on page


This release of VDO.Ninja is the culmination of a few weeks of work, with the focus of it being on fixing reported issues and adding general polish.

Feature Highlights

  • &animate and &fadein offer new styling options for scenes, which hint at what's to come in future versions
  • Sharing Iframes within VDO.Ninja, like a Twitch chat window, works much better now.
  • The tally-light system was cleaned up and made less obtrusive.
  • Mobile devices can cycle the camera with a single button press now.
  • The mini preview window, if in broadcast mode, can be dragged around now.

Updates and features in this release

  • Turn server added to Australia, Sydney.
  • Media file-sharing fixes added. ie) play button shows in the control-bar when video-sharing. It's possible to use it in a group room (by adding &fileshare&view to an invite link).
  • When a director refreshes their page when sharing an iFrame (website), the guest will not have the iFrame reset also, at least if in broadcast mode. The director can actually disconnect completely, and the existing guests will still be able to watch/engage with the iFrame until the director reconnects and stops the share. Changing rooms or creating a new room manually will delete this saved setting (works as the director store the state of the iFrame sharing if resetting the page, as if it was a room setting).
  • Fixed an issue where that chat button showed up too early when &chatbutton was used.
  • &tallyoff, &obsoff, &oo, or &disableobs will disable the tally light (can be used in either OBS view link or by the publisher/guest).
  • Got rid of "STAND BY" as a tally light state. While I've kept the ACTIVE/ONAIR options, I've made them smaller, less pronounced, and they auto-hide if the window-size is small.
  • The director's ability to lower the hand remotely now correctly clears the little hand icon on the director's view.
  • The help/translate buttons won't cover up the iFrame windows now, so remote videos can be full-screened easier now.
  • Certain types of iFrames were not allowing for full-screening, so I fixed that I think.
  • should work with Firefox and safari viewers now, if that was an issue for anyone before.
  • Fixed fade-in effects, plus added motion transitions when elements are added/removed/moved.
  • Fixed an issue where the auto-mixer starting state sometimes broke or was delayed.
  • Added the &animated (&animate) flag, which turns on the animation effect.
  • Added the option to animate the scene remixing as an opt-in toggle now. As a reminder, this feature will have videos slide around when the scene gets re-arranged. I think it's slick looking.
  • User input prompts and confirm popups are mostly now replaced with HTML-based async versions. This means that passwords, labels, and popups that allow the director to change mic/url/camera won't be blocked by the browser/extensions. It also will allow me to start styling them better.
  • Popups will make a "beep" sound, if you have the &beep flag on.
  • Fixed an issue with Electron Capture where on macOS the prompts were hidden behind the main window (due to being always on top).
  • You can "inject" custom CSS into the electron capture window via the right-click menu now also.
  • Fixed a superficial issue were scenes would appear as guests in some self-deployed setups.
  • Added a link to the docs for those wanting to capture window-specific audio during screen sharing.
  • Created the subdomain, mirrors the main site, but has the webserver's CORS headers set so that 'web isolation' is enabled.
  • ​ will now redirect to This fixes an issue with FFmpeg running in the browser with Chrome +v91.
  • Fixed an issue where the closed captions broke at 500-characters of constant chat.
  • Closed captions are now no longer all-caps; but a bit more normal capitalized.
  • You can now use &autostart&screenshare=SomeWindowTitleName to match and auto start window-capture with the Electron Capture app + VDON. Will match on starts-with or else contains the string. (not just screen support, but window support now)
  • Moved the close/send buttons of the private messaging window to the top, in case director is zoomed in too much.
  • Made a few YouTube videos the past few days, including:
    • fixed a bug in the self-deployed pie hosted logic
    • solo scenes were not as solo as I expected
  • Here I'm looking at the performance of Nvidia Jetson Nano and XavierNX mini PCs ($69 and up) with VDO.Ninja. The TLDR; is you can get between 360p and 1080p30 VP8 output working with them.​
  • Did a mic review video; I'm timestamping a link to the part of the video though where I show how to connect the XLR mic to an iPhone or Android device, and that it can be made to work with VDO.Ninja:
  • Fixed an issue with electron capture's positioning and made it more user tolerant; elecap -x 0 now works if you want to use it that way, for example. electron capture v2.1.1.
  • I made the video's control bar less likely to appear when you move your mouse over the video, especially if the video is a scene; this wasn't an issue for OBS users, but it should address an issue a Vmix user reported.
  • Added &nospeakerbutton or &nsb as a URL option; this just hides the speaker mute button from the lower control bar.
  • Added &disableobs and &notally; so two different commands now.
  • Added some added alias also. (&to, &tallyoff, &disabletally) &notally can be added to the guest side to hide the tally light, but not impact OBS-triggered optimizations &disableobs will still impact the tally light, but it's mainly for the OBS viewer/scene side, and using it disables both OBS level optimizations and the tally light.
  • Fixed an issue where the tally light was still appearing in some cases, when &disableobs (I forgot that ="none!important"; doesn't work).
  • Added about 45 new UI text elements to the language translation files, including the text contained in alert, prompt, and confirm popups, along with some more director buttons. More of the dynamically changing text elements retain the correct translations now.
  • Fixed an issue where if you do &nopreview on iOS, the video doesn't actually send. (some odd iOS glitch; the fix that works seems to render the self-preview, but render it off-screen so its not visible)
  • &ssid if left blank, will add the _screenshare suffix to screen shares while in a group room.
  • If you hold CTRL when clicking solo talk, only the director will be able to hear that guest also. So the director and that selected guest can listen to others, but also talk privately between themselves. Without CTRL + click, it works as normal.
  • There's a little status bar that appears for the guest so they know they are in this mode. If the director or guest refresh, things reset back to normal.
  • The director can also now have Multiple solo-modes going, rather than just one at a time now
  • The &bigbutton command is slightly improved. I'd like to think it's at least usable now, despite still being something from a nightmare.
  • You can now embed twitch stream chat (via the pop up link) into a group room for sharing.
    • This includes support for the dark-mode twitch chat.
    • When posting in the Twitch pop-up chat link, VDO.Ninja automatically rewrites the link to be embed-compatible.
  • &screenshareid is added as a toggle to the director's room
  • The password/label popups now auto-focus on the input field or submit button; pressing enter submits. (easier UX)
  • Fixed an issue with pixel phones and hardware encoding; trying to combat the green screen / tearing problems. also noticed that there are some upcoming challenges with android 12 beta, so trying to prep for those too.
  • The speed-test now lets you select a location to test against; there's a few available to choose from:
  • Fixed a couple bugs with iFrame sharing; also making it so the director can see the link being shared.
  • Director can now treat an iFrame as a video source; adding/removing from a scene. Remember that there is &noiframe available as a command to block iFrames from loading, for more fine control.
  • By request, when the director mutes you, you get a little banner notice that you were muted by the director.
  • You can drag the mini-preview around; clicking it full-screens.
  • Fixed a bug where the director's &ad=0 mode wasn't working.
  • Added a "change to next camera source" button; only appears on mobile devices though. Animates with a 180-deg spin when it's changing camera sources, as there is some delay between flipping camera sources.
  • Fixed a rare bug where if you could click "start" too early (possible if the browser had a non-system default camera selected as its default), causing possible problems.
  • Fixed a bug where Firefox didn't let you change audio sources (a firefox update depreciated some code of mine).
  • If no camera is selected, the little blank basic preview window has a soft semi-transparent background now to make things visually nicer.
  • I hide the site's domain name in the header if not VDO.Ninja's main domain, by request.
Last modified 6mo ago