Ninja Docs
  • What is VDO.Ninja?
    • How does it work
    • Use cases
    • Why use VDO.Ninja over other solutions?
    • Sponsor ❤
  • Getting started
    • VDO.Ninja basics
    • What are stream IDs?
    • The power of the URL parameter
    • Multi-Person Chat
    • Rooms
    • Even higher quality video
    • Mobile phone camera into webcam
    • Cheat sheet of basic parameters
  • Steve's helper apps & tools
    • Electron Capture
      • Documentation
    • Social Stream Ninja
      • Documentation reference
    • Meshcast.io
    • Caption.Ninja
    • Raspberry.Ninja
      • Documentation
    • Mixer App
    • WHIP and WHEP tooling
    • Versus.cam
    • Speed and Quality Tests
    • Comms
    • Teleprompter Tool
    • LUT maker for color grading
    • Native mobile app versions
    • VDO Applications
    • Tech Demonstrations
    • Invite Link Generators
    • Community contributed tools
    • Mic test
    • Whiteboard
  • Guides
    • Cheat Sheets
    • Common questions re: Rooms
    • Video bitrate for push/view links
    • Video bitrate in rooms
    • How to get permanent links
    • Basic hotkeys
    • MIDI, API and WebHID support
    • Hardware-accelerated video encoding
    • Audio Filters & Bitrate
    • Options to record streams
    • External guides and how-tos
    • How to lock the resolution
    • How to use VDO.Ninja as a webcam for Google Hangouts, Zoom, and more
    • How to capture without browser sources
    • How to control bitrate/quality
    • How to selectively allow access
    • Stream Scheduling and Promotion
    • How to send the audio/video output of one OBS to another OBS using VDO.Ninja
    • How to mirror a video while Full-Screen - For iPads and Teleprompters
    • How to capture an application's audio
    • How to control VDO.Ninja with Touch Portal
    • How to publish from OBS into VDO.Ninja
    • How to screen share your iPhone/iPad
    • How to get iPhones to output 1080p Videos
    • How to stream into Zoom without OBS
    • How to connect a smartphone to computer via USB
    • How to edit an invite after sending it
    • How to get highest video quality (for an interview)
    • How to stream 4K video using VDO.Ninja
    • How to get lowest audio latency possible
    • How to share webcam from inside OBS
    • How to publish to Facebook Live
    • How to embed VDO.Ninja into a site with iFrames
      • Detecting User Joins / Disconnects
      • Create custom drawing app
      • Generic P2P Data Transmission Guide
    • How to use the green screen just locally
    • How to connect a GoPro to VDO.Ninja
    • How to install RaspNinja on Jetson
    • How to transfer guests to other rooms
    • How to set up a simple chat room
    • How to screen share in 1080p
    • How to control PowerPoint remotely with VDO.Ninja
    • How to improve quality of the native app
    • How to stream transparent video
    • Recommended OBS WHIP settings
    • How to use VDO.Ninja on a website
    • Keep Mic Active in Background on Android Browser
    • PlayStation or Xbox to VDO.Ninja
    • Enabling WebRTC Sources in OBS
    • Picking the right microphone
    • Set Up Proper Lighting
    • System requirements for streaming
    • From OBS to VDO.Ninja using WHIP
    • Deploy your own Meshcast-like service
    • Windows TTS Audio Capture Methods for OBS
    • Syncing USB audio with VDO.Ninja -> OBS Virtual Camera
  • Advanced Options (URL Parameters)
    • Most common Parameters
      • &push
      • &quality
      • &videodevice
      • &audiodevice
      • &effects
      • &label
      • &meshcast
      • &view
      • &videobitrate
      • &audiobitrate
      • &codec
      • &novideo
      • &noaudio
      • &showlabels
      • &room
      • &director
      • &proaudio
      • &scene
      • &roombitrate
      • &password
      • &broadcast
    • Setup Parameters
      • &push
      • &room
      • &password
      • &hash
      • &e2ee
      • &label
      • &labelsuggestion
      • &permaid
      • &group
      • &groupview
      • &groupaudio
      • &datamode
      • &audiooutput
      • &sink
      • &audiodevice
      • &videodevice
      • &vdo
      • &device
      • &miconly
      • &miconlyoption
      • &safemode
      • &autostart
      • &easyexit
      • &webcam
      • &webcam2
      • &screenshare
      • &screenshare2
      • &website
      • &fileshare
      • &intro
      • &host
      • &tips
      • &welcome
      • &welcomeb64
      • &welcomeimage
      • &hangupmessage
      • &humb64
      • &groupmode
      • &audience
    • Camera Parameters
      • &whitebalance
      • &exposure
      • &saturation
      • &sharpness
      • &contrast
      • &brightness
    • Video Parameters
      • &blind
      • &quality
      • &width
      • &height
      • &aspectratio
      • &contenthint
      • &mediasettings
      • &noscale
      • &fps
      • &maxframerate
      • &effects
      • &effectvalue
      • &imagelist
      • &avatar
      • &fullscreen
      • &showpreview
      • &minipreview
      • &minipreviewoffset
      • &largepreview
      • &nopreview
      • &hideguest
      • &videomute
      • &ptz
      • &webp
      • &webpquality
      • &scale
      • &viewwidth
      • &viewheight
      • &dpi
      • &sharper
      • &codec
      • &h264profile
      • &buffer
      • &buffer2
      • &fadein
      • &broadcast
      • &directoronly
      • &showonly
      • &novideo
      • &nodirectorvideo
      • &slideshow
      • &zoom
    • Video Bitrate Parameters
      • &outboundvideobitrate
      • &maxvideobitrate
      • &limittotalbitrate
      • &controlroombitrate
      • &roombitrate
      • &maxbandwidth
      • &videobitrate
      • &totalscenebitrate
      • &totalroombitrate
      • &totalbitrate
      • &zoomedbitrate
      • &optimize
    • Audio Parameters
      • &proaudio
      • &stereo
      • &mutespeaker
      • &deafen
      • &noaudioprocessing
      • &audiodevice
      • &echocancellation
      • &audiogain
      • &autogain
      • &compressor
      • &denoise
      • &distort
      • &equalizer
      • &limiter
      • &lowcut
      • &noisegate
      • &noisegatesettings
      • &audiocontenthint
      • &audiolatency
      • &micdelay
      • &mute
      • &automute
      • &outboundaudiobitrate
      • &inputchannels
      • &monomic
      • &audiooutput
      • &sink
      • &volume
      • &volumecontrol
      • &audiobitrate
      • &vbr
      • &mono
      • &noaudio
      • &nodirectoraudio
      • &panning
      • &sync
      • &samplerate
      • &channels
      • &channeloffset
      • &playchannel
      • &ptime
      • &maxptime
      • &minptime
      • &audiocodec
      • &dtx
      • &nofec
    • Mixer/Scene Parameters
      • &solo
      • &view
      • &include
      • &exclude
      • &layout
      • &activespeaker
      • &activespeakerdelay
      • &order
      • &slots
      • &fakeguests
      • &randomize
      • &cover
      • &43
      • &portrait
      • &square
      • &forceviewerlandscape
      • &animated
      • &manual
      • &locked
      • &poster
      • &hideplaybutton
      • &motiondetection
      • &scene
      • &scenetype
      • &autoadd
      • &hiddenscenebitrate
      • &preloadbitrate
      • &waitimage
      • &waitmessage
      • &waittimeout
      • &viewslot
    • Settings Parameters
      • &language
      • &remote
      • &controlobs
      • &allowedscenes
      • &stats
      • &sticky
      • &clearstorage
      • &disablehotkeys
      • &showlist
      • &nopush
      • &hidehome
      • &hidetranslate
      • &clock
      • &clock24
      • &timer
      • &powerpoint
      • &widget
      • &token
      • &transcribe
      • &signalmeter
      • &batterymeter
      • &consent
      • &prompt
      • &hands
      • &notify
      • &r2d2
      • &directorchat
      • &maxconnections
      • &maxviewers
      • &chunked
      • &retransmit
      • &rampuptime
      • &sensor
      • &sensorfilter
      • &postimage
      • &postinterval
      • &slot
      • &closedcaptions
      • &nocaptionlabels
      • &enhance
      • &bitratecutoff
      • &cutscene
      • &statsinterval
      • &keyframerate
      • &maxpublishers
      • &showconnections
      • &obsfix
      • &streamlabs
      • &getfaces
      • &nochunked
    • Buttons and Control Bar Parameters
      • &autohide
      • &controlbarspace
      • &nosettings
      • &nomicbutton
      • &nospeakerbutton
      • &novideobutton
      • &nofileshare
      • &screensharebutton
      • &nohangupbutton
      • &chatbutton
      • &bigbutton
      • &fullscreenbutton
      • &nowebsite
      • &hands
      • &videocontrols
      • &nocontrols
      • &forcecontrols
    • Design Parameters
      • &label
      • &showlabels
      • &fontsize
      • &style
      • &bgimage
      • &showall
      • &meterstyle
      • &cleanoutput
      • &cleanish
      • &css
      • &base64css
      • &js
      • &base64js
      • &mirror
      • &nomirror
      • &flip
      • &rotatewindow
      • &structure
      • &color
      • &blur
      • &border
      • &bordercolor
      • &rounded
      • &margin
      • &darkmode
      • &lightmode
      • &background
      • &chroma
      • &transparent
      • &nocursor
      • &favicon
      • &headertitle
      • &rotate
      • &grid
      • &hideheader
      • &hidemenu
      • &tally
      • &tallyoff
      • &cleanviewer
      • &obsoff
      • &pip
      • &pipall
      • &pipme
      • &rows
    • Director Parameters
      • &director
      • &codirector
      • &blindall
      • &cleandirector
      • &hidesolo
      • &hidecodirectors
      • &minidirector
      • &orderby
      • &queue
      • &rooms
      • &broadcasttransfer
      • &showdirector
      • &slotmode
      • &previewmode
      • &novice
      • &layouts
      • &maindirectorpassword
      • &totalroombitrate
      • &limittotalbitrate
      • &notify
      • &mutespeaker=0
      • &showconnections
      • &widget
      • &pausepreview
    • Screen-share Parameters
      • &screensharestereo
      • &screenshare
      • &screenshare2
      • &screenshareaec
      • &screenshareautogain
      • &screensharecursor
      • &screensharedenoise
      • &screensharefps
      • &screensharehide
      • &screenshareid
      • &screensharelabel
      • &screensharequality
      • &screensharecontenthint
      • &screenshareaspectratio
      • &screensharetype
      • &smallshare
      • &screensharevideoonly
      • &suppresslocalaudio
      • &prefercurrenttab
      • &selfbrowsersurface
      • &systemaudio
      • &displaysurface
      • &screensharebutton
      • &screensharebitrate
      • &sharperscreen
      • &sspaused
    • Recording Parameters
      • &record
      • &autorecord
      • &autorecordlocal
      • &autorecordremote
      • &recordcodec
      • &pcm
      • &recordmotion
      • &chunked
    • Guest queuing Parameters
      • &queue
      • &screen
      • &hold
      • &holdwithvideo
      • &queuetransfer
    • Meshcast Parameters
      • &meshcast
      • &meshcastaudiobitrate
      • &meshcastbitrate
      • &meshcastcodec
      • &mcscreensharebitrate
      • &mcscreensharecodec
      • &meshcastscale
      • &meshcastcode
      • &nomeshcast
    • WHIP Parameters
      • &whipout
      • &whipview
      • &whipoutcodec
      • &whipoutaudiobitrate
      • &whipoutvideobitrate
      • &whipoutscale
      • &whipoutscreensharecodec
      • &whipoutscreensharebitrate
      • &cftoken
      • &svc
    • Mobile Parameters
      • &facing
      • &forcelandscape
      • &forceportrait
      • &forceios
      • &notios
      • &flagship
      • &mobile
      • &notmobile
      • &app
    • API & MIDI Parameters
      • &api
        • API reference
        • API reference - AI Generated
        • Client (node) event example
      • &pie
      • &midi
      • &midiin
      • &midiout
      • &midiremote
      • &midichannel
      • &mididevice
      • &midioffset
      • &mididelay
      • &datamode
      • &postapi
    • TURN & STUN Parameters
      • &turn
      • &stun
      • &addstun
      • &icefilter
      • &proxy
      • &relay
      • &secure
      • &tcp
      • &tz
    • Parameters added in Version 24
    • Complete List of Parameters in v26
    • Upcoming Parameters
    • Other Parameters
  • Releases
    • v24
    • v23 🌱
    • v22 👑
    • v21 ❤️
    • v20 🎁
    • v19 🚀🤯
      • v19.1 - 19.4
    • v18
      • v18.3
    • v17
    • v16
      • v16.3
      • v16.4
    • v15
    • v14
    • v13
      • v13.4
    • v12
    • v10
    • v8
  • Updates
    • Updates - VDO.Ninja
    • Updates - Social Stream & Chat Overlay
      • Updates - Social Stream Standalone App
    • Updates - Electron Capture App
    • Updates - Raspberry.Ninja
    • Updates - Versus.cam
    • Updates - Mixer App
    • Updates - WHIP/WHEP
    • Updates - Native mobile apps
    • Updates - Caption.Ninja
    • Updates - Meshcast.io
    • Updates - Speed Test
    • Updates - Comms
    • Updates - Miscellaneous
  • Development Progress
  • Help!
    • Fail safes and Backups
    • Privacy and security details
      • VDO.Ninja Terms of Service
      • VDO.Ninja Privacy Policy
    • Project Contact Info
    • Where can I report a bug?
    • Where can I get support?
    • Feature Requests
    • Logos and media assets
    • What does VDO stand for?
  • Common errors and known issues
    • Can't screen capture certain games
    • ATEM not working with Firestick
    • Very old iPhone support
    • Can't select audio output on iOS
    • Screen-share is just a black video
    • Mic audio dropping out
    • Loss of audio when OBS minimized
    • Known issues
    • Echo or feedback issues
    • Works on WiFi but not on 4G
    • Can't capture an application's audio when screen-sharing
    • Can't load camera both in OBS and VDON
    • Can't select a camera lens on mobile
    • No video in OBS, just an "Add camera" button
    • Audio over VDO.Ninja isn't working
    • Loading circle shows in OBS or browser
    • Appearing then disappearing guest
    • Can't auto-start screen sharing
    • Audio Clicking / Popping / Distortion
    • Can't share my screen
    • Nothing shows up in OBS
    • Already in use or claimed errors
    • Blue spinning window
    • Cursor shows trailing or artifacting
    • Packet Loss
    • Overheating
    • Audio is delayed in OBS
    • vMix High CPU
    • OBS Virtual Camera has low FPS
    • Virtual camera not working on Mac
    • Mic stops on MacOS when OBS opens
    • Video stream looks corrupted
    • Video freezes mid-stream
    • Webcam freezes after a time
    • Is the VDO.Ninja server down?
    • Hosted your own TURN server?
    • Can't screen-share from certain devices
    • Cursor shows when screen-sharing
    • Getting “Overconstrained" Camera Error
    • Autoplay doesn't work in Chrome or vMix v77
    • Low frame rates
    • Black borders around the video in OBS
    • Mic's volume keeps changing
    • Enable Camera / Microphone permissions
    • FPS drop if app not in focus
    • Surround sound error when screen sharing with USB headset
    • Relay candidate being selected
    • Camera works in Safari; not Chrome
    • Robotic Audio Distortion
    • Can't load camera from non-SSL host
    • Camera on macOS doesn't show?
    • Can't screen share Adobe Lightroom
    • Decklink support?
    • iOS audio stops during phone calls
    • Can't turn off echo-cancellation on macOS
    • Video lag grows over time
    • Can't connect unless via VPN
    • Improving vMix performance
    • Use a Virtual Camera more than Once
  • Platform specific issues
    • Android
    • macOS
    • iOS (iPhone/iPad)
    • Firefox
    • Opera GX
  • Useful Links
  • FAQ
  • Sponsor ❤
  • Edit this documentation
Powered by GitBook
On this page
  • Updates added between 19.1 and 19.4
  • Incremental updates

Was this helpful?

  1. Releases
  2. v19 🚀🤯

v19.1 - 19.4

Previousv19 🚀🤯Nextv18

Last updated 2 years ago

Was this helpful?

Updates added between 19.1 and 19.4

Since the last release notes were for 19.0, there have been numerous updates and changes added incrementally since then. Below is a link to those incremental updates, along with a list of some of the highlights added from 19.1 to 19.4.

  • Added initial support for assisted server-side broadcasting for guests. To use, add the &meshcast to the guest invite link. This causes their video to be streamed via a server, instead of p2p, reducing CPU and Network bandwidth on that guest.

  • The &rotate command was added; 90, 180, and 270 can be added. Applies to the publisher's side.

  • Links in the director's room are editable; right click and select edit.

  • added &base64css, which lets you add custom CSS styles via the URL as base64-stored data.

  • Added &group and &groupaudio as flags, which lets you assign members in a room into groups, which allows them to only see (and potentially only hear) others in the same group as them. I call this feature sub-groups, and the director can add/remove guests to a group dynamically from their control-center also.

  • Added the &noisegate flag; there are 3 modes now.

  • Added the &miconly option, which lets you hide video controls from the guest and only allows them to select audio sources.

  • Added a dark-mode; can be set via URL &darkmode or will adopt the system default automatically.

  • VDO.Ninja merch launched, including stickers and mugs. Commission is set at 0%, so prices are set as low as I can make them:

Incremental updates

  • &optimize=0 won't cause iPhones to freeze on scene changes.

  • Fixed an issue with scenes.

  • &cover should now fill the screen with the preview camera if just sending video; and not just receiving any.

  • Improved the video bitrate preload logic of scenes.

  • Manually adding guests to scenes should have them join with a higher quality than before.

  • Scene 1 acts the same as all other scene types now; that is, when a guest is not added to a scene, it's bitrate is 0 (encoder paused if possible). Please provide feedback is you see any regressions with it.

  • For the first 4 seconds of a guest connecting and not yet added to a scene, their video will invisibly run at 1000-kbps. It will then fall back to 0 (paused) after that 4 seconds if still not added to the scene. This is what I call "preloading" a video.

  • The outcome of this is that the browser (chrome at least) has more time to figure out available bandwidth allowances, so when the video is actually added to the scene, playback can start closer to 1000-kbps, instead of at a blocky 35 to 300-kbps.

  • The logic for pausing and adding a video to a scene seems quick enough to me that scene=1 probably doesn't need to have videos always playing the background; testing and feedback is welcomed though.

  • The &hiddenscenebitrate=400 flag can be used to force videos not added yet to a scene to run at the specified bitrate (400-kbps or whatever; which is what scene=1 was set to previously).

  • The &preloadbitrate=1000 flag can be used to change the pre-load target bitrate; you can set this higher or lower, or set to 0 to disable pre-loading all together. I'd strongly avoid setting this to 0, as it can cause the video to stall out all together.

  • If using meshcast, you can share the view link into VDO.Ninja or elsewhere, and have the audio be muted by default using the &muted (&mute) command.

  • Using &codirector should now work with &queue, so long as the main director has &view=xxxxxxxx added to their URL, where xxxxxxx is the co-director's streamID.

  • Using &queue with &view are now compatible, where &view acts a bit like an exemption from the queue, but does not block users from the queue from being pulled in too.

  • When a co-director refreshes their browser page, it should have the main-director re-authorize that co-director within a couple seconds now; instead of having to wait like 10 seconds.

  • I had some requests for branded vdo.ninja stickers or such, so I put up a store for people to order some from: I'm leaving the commission earning at 0% for now, since profit isn't the motive here.

  • Fixed an issue with windows XP not being compatible as of a few days ago. Just switched SSL providers and it should be resolved now (on production) and made some related change.

  • Fixed an issue where the dedicated screen share mode wasn't showing the mute mic button.

  • did a code example for making your own video switcher of sorts, using the VDO.Ninja iframe. the example was written specifically for esports, where you might want to switch between dozens of face cams in an e-sports tourney, but can be expanded into a custom video mixer.

  • Fixed/improved the &limittotalbitrate option; it's a tricky one to do well, but will continue to improve based on feedback. (tries to limit the total outbound bitrate)

  • Basque langauge added

  • Added initial support for assisted server-side broadcasting for guests. to use, add the &meshcast flag to the guest's URL; viewers will automatically attempt to use the server-based feed over the peer-to-peer feed. Peer to peer is still used to send data though, and it can be optionally be used for sending audio p2p. (lower latency). The hybrid audio/video option is still being developed though..

    • This feature uses meshcast.io for restreaming, so there are locations in north america and europe currently, and its free to use.

    • Unlike the &broadcast flag, which uses iframes, this new server-side mode does not; it's more deeply integrated. Echo cancellation should work as a result.

    • Currently the bitrate/codec is fixed though, which is the downside of using servers, along with typically higher latency.

  • Added initial iOS safari support for the digital video effects

  • Added the &rotate command; rotates the camera 90-deg by default, or specify =180 or =270 to rotate more. rotates your video for the guests/obs as well. he rotation uses CSS; it will not work in full-screen, and the control-bar gets rotated also. Some browsers might have issues, too.

  • Fixed an issue where if the director highlighted their own director's feed, it would black out scenes.

  • Added an alias for &showdiector; &sd

  • Added an alias for &scene; &scn

  • Added the option to grab the director's solo link, when not in &showdirector mode.

  • Made solo links editable (right-click -> edit)made the group scene draggable into OBS: The link generator now supports the base64 CSS encoding option. Feature contributed by @jcalado.

  • Fixed the known bugs with the updated &activespeaker=1 and 2 functions

  • If you add &showdirector to a scene link, it will allow that scene to include the director's camera, even if the director doesn't have the &showdirector flag added

  • Added &base64css (&b64css) as an option, courtesy of @jcalado and requested by @leb. This command lets you add css to VDO.Ninja via the URL, but as a single string, so no external reference to a file is needed. Example usage: You can create the base64 encoding using btoa(encodeURIComponent(csshere)), for example window.btoa(encodeURIComponent("#mainmenu{background-color: pink; ❤" )); will return the base64 encoded string required. Special non-latin characters are supported with this approach; not just latin characters.

  • Added the &groupaudio(&ga) flag , which is for the &group feature added recently to beta. This &groupaudio flag just allows for inbound audio playback, irrespective of the group a guest/scene is in. Could be useful for a dating-show concept, where you might want two guests to talk to each other, but not see each other until some reveal.

  • Fixed an issue where when sharing a website as a guest to a group, and the director highlighted that website/guest, the iframe window of that shared website wouldn't full screen for guests.

  • Added a new feature that I guess i am calling groups (or sub-groups?). The idea is, you can put guests of a room into sub-groups. When added to a sub group, those guests will only be able to see and hear others in that same sub group. Guests can be assigned to multiple subgroups. Groups can be specified via the URL using &group=1,5,6 or/and the director can dynamically assign sub-groups, as seen in the attached image. If not in a group, that guest will still see/hear everyone, regardless of which group they are in, even if a guest in another group may not be able to see/hear that guest back. Scenes can be put into groups as well, via the URL group option, such &group=3 , but the director will not be able to dynamically change which group a scene is in. Not yet at least. Using this group function is an alternative to transfer rooms, however it's perhaps less secure, as a guest could just tinker with their URL parameters or just refresh their page to perhaps see everyone in the room again.

  • Added &scenetype=3 to beta. Usage is like this: ?scene&room=asdfasdfsdfsf3232&scenetype=3&order=1, where &order=N is optional. This feature isn't set in stone yet, but the general idea is it will only show the video that is in a particular ordered position (default, position = 1), rather than all the videos in the scene. When someone leaves, the spots are recalculated. The order that the positions are based on is calculated via alphanumeric sorting of connection IDs, though I wish to improve this to be probably sync with the director's order. anyways, this feature was a result of a user request.

  • Added the ability to include desktop audio capture with screen share via the Electron Capture app; or even just select the desktop audio without the video capture itself.

    • By default, audio capture is included when sharing a screen/window, but can be unchecked to not include

    • This audio is "desktop audio". Window or tab specific audio capture is not supported still.

  • If a user has a remote video in picture-in-picture mode, when they "full window" another video (highlight/focus, etc), the picture-in-picture video will now remain active

  • Improved &activespeaker; it now has two modes. &activespeaker=1 (default) and &activespeaker=2

    • &activespeaker=1 will only show one speaker at a time; the loudest or last-loud speaker.

    • &activespeaker=2 will show whoever is talking; mixed together. If no one is talking, just shows yourself.

    • In both cases, if someone else is talking/active, your local preview will become a mini-preview in the top right.

  • Improved the &noisegate feature; reacts a bit faster now.

  • Added additional noise gate modes:

    • &noisegate=1 (default) will mute the microphone when someone else is speaking

    • &noisegate=2 will mute the speakers when you are talking

    • &noisegate=3 will mute the speakers when someone else is talking (mainly for debugging)

  • Added a "reset to default" for the advanced video settings. If you make change, like to brightness, you can reset to the original state again afterwards.

  • When sharing a website (like as a director), the last website shared is remembered, so when you toggle sharing off and on again, the previously used URL will still be there.

  • Added the option to change video quality (resolution) dynamically via the settings menu.

  • Added &miconly as an option, which is just an alias of &vd=0&webcam It also hides the option to select a video device via the settings menu and hides the 'mute camera' button.

  • Created a sample IFRAME-based app to demo how to make a custom VDO.Ninja interface for mobile. The app just makes a custom big mute button that overlays the iframe; lets the guest toggle the mic mute state via the iframe API with it. You can make your own custom control bar for guests this way. Tested on iPhone and seems to work fine there.

  • You can set the dark mode via the URL params now also. ie: , , or the default will be whatever the system is set to.

  • Aligned the IFRAME API and the Companion API, so the IFRAME API now also is fully compatible with the GET/WSS API. This also means there is some documentation for the IFRAME API, along with a slew of Director-specific commands.

  • Added a first pass at a Simplified Chinese translation to beta; using Google translate, so it's not the best.

  • Added a dog-ears/nose 3D face effect, an also a mesh-face effect.

  • Manual editing of the URL is possible now; right-click -> edit

https://www.redbubble.com/shop/ap/88897940
https://www.redbubble.com/shop/ap/88897940
https://vdo.ninja/examples/esports
https://invite.vdo.ninja/
https://vdo.ninja/beta/?base64css=JTIzbWFpbm1lbnUlN0JiYWNrZ3JvdW5kLWNvbG9yJTNBJTIwcGluayUzQiUyMCVFMiU5RCVBNA
https://vdo.ninja/examples/bigmutebutton
https://vdo.ninja/beta/?darkmode=1
https://vdo.ninja/beta/?darkmode=0
https://vdo.ninja/beta/?lightmode
https://vdo.ninja/beta/?ln=cn