Long overdue, but full of riches
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.
- 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
- The Android app version (on Google Play store) supports publishing to rooms now
&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
- 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
&syncwill 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.
- 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
&micdelayweb 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
&syncdelay, 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
&clockparameter, 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 screen-shares,
&screensharecontenthint=motion, which will override
&contenthintfor just screen-shares if set also.
&gridcommand can be customized with a custom image now, allowing for an overaly on the guest's video preview.
&aspectrationow 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.
&webpmode has been modified a bit. Main change is that you now enable it by add
&webpto the sender's URL, and
&codec=webpto the viewer's URL (otherwise, it falls back to normal video mode). No need for
&broadcastanymore. (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).
&websitefunction 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)
- 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
&apiremote API option, you now can get STATE values as the reply to a GET/POST/WSS request. So if you do
&api=c6sWHN9zzXadded 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 -> recordof a inbound-video, and then hung up without stopping the recording, the recording wouldn't stop and finalize.
- 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
&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=xxxxcan 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.