v22 👑
Long overdue, but full of riches
Last updated
Long overdue, but full of riches
Last updated
This release was long overdue, but with the previous release being so successful, it gave me the opportunity to rework and expand some core logic, and also branch off with some new related product offerings based on VDO.Ninja.
If you have problems with version 22, version 21 can be accessed here: https://vdo.ninja/v21/
Versus.cam - Optimized for E-Sports and high-bandwidth video stream monitoring https://versus.cam/
Mixer app - No longer just a proof of concept, the mixer app can be used to create custom layouts for VDO.Ninja, and even remotely change your OBS scenes to sync with your VDO.Ninja layouts. https://vdo.ninja/mixer
Comms.cam - A simple mobile-friendly audio-centric group chat designed for producing https://comms.cam
Check app - Similar to the speedtest tool, the check app offers a way to share results of network performance and browser specifications obtained thru a quick test. It can be used to catch any red flags with guests ahead of a show when tight on time. https://vdo.ninja/check
All new parameters can be found here: https://docs.vdo.ninja/advanced-settings/new-parameters-in-version-22
Directors can now toggle between the control center view and a preview guest-mode
Bitfocus Companion has a plugin for VDO.Ninja to remotely control it via the improved API
Room clock and global countdown timer available to the director to enable dynamically
Screen sharing while in a group room has been improved with better layouts and clarity
Last-selected audio and video devices, and some settings, will be preselected on next visit
Directors and co-directors stay in sync now, with respect to most button changes
The Android app version (on Google Play store) supports publishing to rooms now
Added &effects=7
(or &effects=zoom
), which will provide a manual digital zoom option in the effects menu, compatible even with devices that would otherwise not support zooming.
Added the ability for VDO.Ninja to Remotely Control OBS Studio while streaming/directing. See the parameter &controlobs
Updated the local audio controls to have an improved NOISE GATE option
The director's scene-options section now shows detailed graphs for scene-stats, including bitrate and packet loss, so you can remotely tell the quality of a stream in OBS
Due to the vast number of changes in this update, this is an incomplete list of changes. A timeline of all changes can be found here though: https://docs.vdo.ninja/updates/updates-vdo.ninja#august-31
&sync
will speed up and slow down audio to keep it in sync now, rather than skipping chunks of audio. This will reduce clicking, but can introduce pitch shift distortion.
Fixed an issue with iPhones where changing the camera caused your own preview video to go small.
&screensharebitrate
now works outside of group rooms, even with basic push/view links.
Added the "mic delay" option as a slider to the director's control; it's available by default, with up to 500-ms of delay ready. If you make use of it, it will "enable" the &micdelay
web audio node remotely if not yet on, which might cause a clicking sound. Hoping that this though can help with problematic guests who might be out of sync. This is not the same as &buffer
or &sync
delay, which are a view-side parameters.
&micdelay
, if used on a basic push link, will show the mic delay as a slider now also. So you can adjust it as needed. I don't show the slider by default unless using the URL parameter, as I don't think its a commonly used feature.
Added an option called &hidehome
, which hides the VDO.Ninja homepage and many links that lead to it. You can also enable at a code level with session.hidehome=true;
, which is useful if doing a self-deployment, where you don't want anyone to stumble onto the site and start using it. You'll still be able to join push links and create rooms via URL parameters, but that's about it.
Added the &clock
parameter, which shows the current time in the lower right; this can be applied to pretty much all link types. The director has a button that lets them enable the clock for everyone in the room (via the director's room settings button).
Added new sender-side parameters that can customize how you want VDO.Ninja to balance resolution vs frame rate, specifically when bitrate or CPU is insufficient to offer both at the same time.
for video, &contenthint=detail
for screen-shares, &screensharecontenthint=motion
, which will override &contenthint
for just screen-shares if set also.
&grid
command can be customized with a custom image now, allowing for an overaly on the guest's video preview.
Chunked mode should work with audio-only or video-only tracks now (see &chunked
).
Bugs with &screensharetype=3
have been resolved.
&aspectratio
now works with screen shares, so you can force crop an incoming screen share to be a certain aspect ratio.
When the director talks to you in solo-talk mode, the other guests in the room now drop to 25% volume. This way the guest the director is talking to can hear the director more clearly (by request).
Added https://updates.vdo.ninja/, which will mirror the updates from this discord 📑│updates channel, which should be helpful for those not using Discord to see development progress. (updated via our custom-made Discord Bot, available on GitHub).
Fixed a bug where if the director is highlighted, any newly loaded scenes would be blank.
The &webp
mode has been modified a bit. Main change is that you now enable it by add &webp
to the sender's URL, and &codec=webp
to the viewer's URL (otherwise, it falls back to normal video mode). No need for &broadcast
anymore. (as a reminder, this mode sends the video as a series of low-quality images, rather than a more efficient video stream).
Added the ability to "tap to focus" when a camera supports focusing.
Added an option (&postimage
) to post a snapshot of your local camera to a HTTPS/POST URL (blob/jpeg).
The &website
function now lets you start/stop and change website sources; no longer is it just one site and that's it. (only the director previously could change websites constantly).
Tweaked the mic meter (3x more intense) and added a visual meter to the settings menu; should help judging if you're mic is active easier.
The WSS API (wss://api.vdo.ninja) has been expanded to include hang up events for publishers, along with viewer-side events for incoming connections/streams. These efforts will lead to a richer Streamdeck integration. (Bitfocus Companion supported)
Add &background
, which accepts a URL-encoded image URL to make as the app's default background.
Been playing around a new flag called &flagship
, which will optimize the mobile experience for more capable smartphones; essentially, streaming higher quality video to other guests versus the normal mobile-performance mode.
Option to randomly generate a room name has been added to the room-creation page.
Video/audio stats for Firefox have been improved; resolution, framerate, codec, bitrate.
Using the &api
remote API option, you now can get STATE values as the reply to a GET/POST/WSS request.
So if you do https://api.vdo.ninja/c6sWHN9zzX/group/null/1
, with &api=c6sWHN9zzX
added to the director's URL, you will toggle the director in and out of GROUP 1.
Fixed an issue where if you did right-click -> record
of a inbound-video, and then hung up without stopping the recording, the recording wouldn't stop and finalize.
&sensor
now also includes speed and altitude data (on production).
Improved logic for determining best turn server to use, if needed. Many new servers added as well.
Added new viewer-side parameters that can be used in place of &scale
;
&viewheight
=180&viewwidth
=320, (aka &vw
/&vh
) which effectively does the same thing as &scale
, but instead you pass a resolution.
Added options to host your own default background images for the virtual background effect;
&imagelist=xxxx
can be used to pass a list of images via the URL. Code to generate the list properly can be found here: https://jsfiddle.net/steveseguin/w7z28kgb/ (images must be cross origin enabled).
Above is just a snippet of all the changes; please visit the following link for a list of all changes, as a chronological time-line of updates: https://docs.vdo.ninja/updates/updates-vdo.ninja#august-31
I'd like to thank JK14, leb, SilverServerT, and the many others for helping out with the community on Discord with user support during development of version 22. JK14 also made significant contributions towards organizing and updating the documentation, while leb rewrote our beloved Discord Ninja bot to be better than ever, so many thanks there. We also had a Sam MacKinnon revamp the IFrame sandbox page, which looks and works great.
Thank you to everyone who has reported bugs as well.
I'd also like to thank everyone else who made a contribution to the project, not least the sponsors and donors; your generosity is sincerely valued.