VDO.Ninja
Bring live video from your smartphone, computer, or friends directly into your Studio. 100% free.
Ninja Docs
Ninja Docs
- What is VDO.Ninja?: "Vee-Dee-Oh" .. oh, video!
- How does it work: Learn how VDO.Ninja works with WebRTC peer-to-peer streaming, push/view links, low latency, and URL parameter control.
- Use cases: The use cases of VDO.Ninja are many; they go far beyond the original scope of the project
- Why use VDO.Ninja over other solutions?: Compare VDO.Ninja to other remote video tools for OBS with a focus on low latency, quality, flexibility, and control.
- Getting started: Beginner guide to VDO.Ninja with push and view links, OBS setup, remote guests, rooms, screen sharing, and first-stream best practices.
- VDO.Ninja basics: VDO.Ninja basics: publish a camera feed with a push link and receive it in OBS or a browser using a view link.
- What are stream IDs?: Understand VDO.Ninja stream IDs, how push and view links use them, and best practices for secure naming.
- The power of the URL parameter: Customize VDO.Ninja links with URL parameters for bitrate, audio, layouts, automation, and advanced streaming workflows.
- Multi-Person Chat: Set up multi-person calls in VDO.Ninja with room links or custom push and view URL combinations.
- Rooms: A room allows for group chat and enables a director to control the room and access to each stream
- Even higher quality video: Some basic options to achieve higher quality video
- Mobile phone camera into webcam: Use an iPhone or Android phone as a webcam with VDO.Ninja, OBS, and OBS Virtual Camera, including optional audio setup guidance.
- Steve's helper apps & tools: VDO.Ninja helper apps and related tools including Game Capture, Screen Recorder, Meshcast, mobile apps, plugins, and production utilities.
- Electron Capture: Provides users a clean way of window capturing websites
- Documentation: This Electron Capture documentation was last updated Aug 16, 2023
- Game Capture: Windows game capture and window capture app for VDO.Ninja with hardware encoding, window-audio capture, and multi-viewer support.
- Ninja OBS Plugin: OBS Studio plugin for publishing directly to VDO.Ninja, with multi-viewer support and room-source helper workflows.
- Ninja VST3 Plugin: Windows VST3 plugin for VDO.Ninja audio workflows, including audio input and audio output use inside supported DAWs.
- Social Stream Ninja: Consolidate your live social messaging streams, including YouTube, Twitch, and more, into a single chat stream that can be docked into OBS
- Documentation reference: This is a snapshot of the Social Stream documentation, taken Aug. 16, 2023
- Chat Lite: Lightweight Social Stream activity overlay integrated into VDO.Ninja
- Meshcast.io: A low latency video CDN and app surface for larger-room and one-to-many VDO.Ninja workflows.
- Ninja Chatter: Related chat-focused helper site in the VDO.Ninja ecosystem.
- Ninja Backer: Tipping and supporter platform used with VDO.Ninja tip links and creator workflows.
- Caption.Ninja: Lets you use the browser's built in speech-to-text service to provide overlay captions for your live stream
- Raspberry.Ninja: Publish live streaming video to VDO.Ninja at very high resolutions
- Documentation: This is an archived snapshot of the documentation as of Aug. 16, 2023.
- Mixer App: Customize layouts, positions, and assets in VDO.Ninja, with remote control to change the layouts dynamically. This is very efficient and low on resources compared to other methods.
- Screen Recorder: Standalone screen recorder with local recording and utility tools
- WHIP and WHEP tooling: WHIP allows you to publish to supported sites, like Twitch, directly from VDO.Ninja
- Versus.cam: Focus on ease of use and high-bitrate / e-sports streams
- Speed and Quality Tests: Video streaming quality test
- Comms: Multi-group audio chat
- Teleprompter Tool: Teleprompter tool for flipping, mirroring, and rotating websites or chat overlays for readable on-camera prompts.
- LUT maker for color grading: PNG and 3D LUT maker for color calibration
- Native mobile app versions: VDO.Ninja mobile apps for Android and iPhone or iPad, including local recording, screen recording, USB audio, and advanced mobile camera workflows.
- VDO Applications: Useful tools that could help you make your stream better
- Tech Demonstrations: Useful tools that could help you make your stream better
- Invite Link Generators: Link generators to create invite links for VDO.Ninja
- app.invite.cam: A larger lobby and invite workflow for controlling access before users join VDO.Ninja.
- Community contributed tools: Awesome tools made by the community that help with common VDO.Ninja-related tasks
- Whiteboard: Browser-based VDO.Ninja whiteboard for live collaborative drawing with real-time streaming via P2P or WHIP.
- Guides: VDO.Ninja how-to guides for OBS Studio, remote guests, screen sharing, mobile apps, bitrate and quality tuning, WHIP, Meshcast, and API workflows.
- Cheat Sheets: Some cheatsheets to help you get started
- Common questions re: Rooms: General information about group rooms and how they work.
- Video bitrate for push/view links: How to control video bitrates for basic push/view links
- Video bitrate in rooms: How to control the video bitrate inside of a room
- Room-only mobile bitrate tiers: How VDO.Ninja balances higher guest room quality with mobile device safety
- How to get permanent links: Guest invites can be configured to ensure guests join with the same stream ID every time they join, allowing for reusable view- and solo-links.
- 24/7 unattended operation: Keep links alive across ISP resets and unattended hours
- Basic hotkeys: Some keyboard hotkeys
- MIDI, API and WebHID support: Use MIDI, WebHID, and API controls with VDO.Ninja for hotkeys, automation, and remote control workflows.
- PTZ remote control: How to enable and control PTZ remotely (director, viewer, API, and remote mirror/rotate)
- Ninja Backer tipping: Accept tips with NinjaBacker.com inside VDO.Ninja
- Hardware-accelerated video encoding: Typically only supported with H264 video and often hit and miss
- Audio Filters & Bitrate: A guide on how to use Audio Filters & Bitrate in VDO.Ninja
- Audio-Reactive Avatars: How to make avatar images pulse or react to audio when the camera is disabled
- Options to record streams: Compare VDO.Ninja recording options for local, remote, segmented, and backup capture workflows.
- Recording video with consistent results: A plain-language guide to getting steadier VDO.Ninja recordings by choosing the right network, buffer, and recording method.
- Cloud Sync (Google Drive + Dropbox): Configure Cloud Sync uploads for recordings using Google Drive and Dropbox
- Recording Format Options and Settings: A detailed guide to VDO.Ninja's recording URL parameters, codec choices, container formats, browser compatibility, and tips for getting the best results across desktop and mobile.
- External guides and how-tos: Curated external VDO.Ninja community guides covering show formats, audio workflows, screen sharing, and video quality.
- How to lock the resolution: If you don't want the resolution to vary
- How to use VDO.Ninja as a webcam for Google Hangouts, Zoom, and more: Step-by-step guide to use VDO.Ninja with OBS Virtual Camera for Zoom, Google Meet, Teams, and similar video apps.
- How to capture without browser sources: Capture VDO.Ninja feeds without OBS browser sources using Electron Capture, Vingester, NDI, and virtual camera workflows.
- How to control bitrate/quality: Control VDO.Ninja bitrate and video quality using URL parameters for resolution, frame rate, and room bandwidth.
- How to selectively allow access: Choose between room caps, approval prompts, queue mode, transfer rooms, SSO, app.invite.cam, passwords, and source connection limits.
- SSO and signed-in access: Use SSO or a signed-in access layer before sending users to VDO.Ninja.
- Stream Scheduling and Promotion: Best Practices for Stream Scheduling and Promotion
- How to send the audio/video output of one OBS to another OBS using VDO.Ninja: Send low-latency audio and video from one OBS setup to another remote OBS instance using VDO.Ninja links.
- Active speaker layouts in OBS: How to build OBS layouts with fixed guest boxes and a larger active speaker or screen-share window using VDO.Ninja.
- How to mirror a video while Full-Screen - For iPads and Teleprompters: Mirror VDO.Ninja video in fullscreen for teleprompters and iPads using browser fullscreen and effects parameters.
- How to capture an application's audio: How to capture application audio for VDO.Ninja on Windows and macOS using VB-CABLE, Loopback, virtual audio devices, and OBS-based alternatives.
- How to control VDO.Ninja with Touch Portal: Controlling VDO.Ninja with Touch Portal using API commands
- How to publish from OBS into VDO.Ninja: Publish an OBS scene into VDO.Ninja using OBS Virtual Camera and a virtual audio cable, with notes on WHIP and server-based alternatives.
- Using the Ninja OBS Plugin with VDO.Ninja: Use the Ninja OBS Plugin to publish from OBS to VDO.Ninja, receive VDO.Ninja sources, and reduce reliance on separate browser tabs.
- How to screen share your iPhone/iPad: How to screen share an iPhone or iPad to OBS and VDO.Ninja using the native app, QuickTime on macOS, or related mobile workflows.
- How to get iPhones to output 1080p Videos: Newer iOS devices can support 1080p60 output in some cases
- How to stream into Zoom without OBS: Window sharing into Zoom with the Electron Capture app
- How to connect a smartphone to computer via USB: If Wi-Fi isn't holding up for you, you can try connecting over USB or other adapter-type instead.
- How to edit an invite after sending it: There are numerous free URL management tools to make using VDO.Ninja even more flexible
- How to get highest video quality (for an interview): A common question on how to achieve the highest quality capture into OBS for a remote interview.
- How to stream 4K video using VDO.Ninja: Stream 4K video with VDO.Ninja by setting custom resolution, bitrate, and CPU-aware quality settings.
- How to get lowest audio latency possible: Two-way low-latency audio-only transmissions
- How to share webcam from inside OBS: Share your webcam, virtual-camera, and audio source from using VDO.Ninja inside OBS
- How to publish to Facebook Live: Publish VDO.Ninja streams to Facebook Live using OBS, RTMP, virtual camera, or screen share workflows.
- How to embed VDO.Ninja into a site with iFrames: How to embed VDO.Ninja into your own website with the IFRAME API
- Detecting User Joins / Disconnects: Detect user joins and disconnects in embedded VDO.Ninja streams using iframe postMessage events.
- Create custom drawing app: Transmitting Drawing Data Between Clients with VDO.Ninja IFRAMES
- Generic P2P Data Transmission Guide: Generic P2P Data Transmission Guide
- IFRAME API for Directors: Enhanced IFRAME API Documentation - HTTP/WSS API Integration
- IFRAME API Basics: Understanding the VDO.Ninja IFRAME API: Detecting User Joins and Disconnects
- How to use the green screen just locally: Apply VDO.Ninja green screen effects locally with Electron Capture for OBS-friendly chroma key workflows.
- How to connect a GoPro to VDO.Ninja: Connect GoPro cameras to VDO.Ninja using USB webcam mode or HDMI capture adapters for live streaming.
- How to install RaspNinja on Jetson: Install RaspNinja on NVIDIA Jetson hardware for dedicated VDO.Ninja publishing and capture workflows.
- How to transfer guests to other rooms: A powerful tool that allows a director to move guests to a different room
- How to set up a simple chat room: Create a simple VDO.Ninja chat room link with room, chat button, clean layout, and optional camera or audio controls.
- How to screen share in 1080p: Maintaining a smooth 1080p60 can be tricky, but there are variety of options to achieve the desired results
- Using Game Capture with VDO.Ninja: Use the standalone Game Capture app to publish game, window, or screen-style captures into VDO.Ninja with a steadier native capture path.
- How to control PowerPoint remotely with VDO.Ninja: Remotely control PowerPoint with VDO.Ninja using the &powerpoint parameter, API endpoints, MIDI, and iframe tools.
- How to improve quality of the native app: Improve quality of video if using iOS or Android native app versions
- How to stream transparent video: Sending video with a transparent background, or with an alpha-channel (RGBA), is possible, but rather limited at the moment
- Recommended OBS WHIP settings: Encoder options that can offer smooth playback
- How to use VDO.Ninja on a website: You can host a VDO.Ninja media stream on a website, via the IFRAME API
- Keep Mic Active in Background on Android Browser: How to Keep VDO.Ninja Microphone Active in Background on Android
- PlayStation or Xbox to VDO.Ninja: Streaming PlayStation or Xbox Output to VDO.Ninja
- Enabling WebRTC Sources in OBS: WebRTC/P2P connections may not work always in OBS Studio, perhaps due to firewalls.
- Picking the right microphone: Choosing the Right Microphone for Your Live Stream
- Set Up Proper Lighting: How to Set Up Proper Lighting for Live Streaming
- System requirements for streaming: System requirements for streaming using with OBS Studio, including a VDO.Ninja source
- From OBS to VDO.Ninja using WHIP: Publishing from OBS Studio to VDO.Ninja using WHIP
- Deploy your own Meshcast-like service: A detailed guide on how to deploy MediaMTX, a ready-to-use media server, that offers Meshcast-like functionality
- Windows TTS Audio Capture Methods for OBS: How to capture the (free) system Text to Speech audio in Windows with OBS
- Syncing USB audio with VDO.Ninja -> OBS Virtual Camera: Syncing your USB microphone in OBS with the incoming VDO.Ninja stream is pretty straight forward.
- How to restart your winsock: Restarting Winsock on Windows
- Mesh Network Debug: Visualize and troubleshoot P2P connections between guests in a room
- Handling Guest Disconnects and Connection Recovery: Practical playbook for guest disconnects, retry behavior, and fallback strategies
- Primary and Backup Guests with &scene and &slots=1: Use a primary and backup guest feed with scene-based failover, &slots=1, and audio-safe output links.
- Advanced Options (URL Parameters): VDO.Ninja URL parameters and advanced settings for OBS, rooms, remote guests, bitrate, audio, video, screen sharing, WHIP, and mobile workflows.
- Most common Parameters: Cheat sheet of the basic URL-based settings
- Setup Parameters: Stream ID, create a room, password, labels, groups, devices, auto-start, welcoming guests, sharing a website/file
- &push: The stream ID that you are publishing with will be the defined value
- &room: Sets a room ID for the session to join
- &password: Sets a password to view a stream or to join a room
- &hash: Checks the password
- &e2ee: Support for something called "end to end encryption" using "insertable streams"
- &label: Sets a display name label
- &preferchannel: Request a preferred audio channel for multitrack recording
- &labelsuggestion: The same as &label, except it asks the user still for a user name
- &permaid: Will save that stream ID to local storage and reuse it every time &permaid is used without a stream ID
- &group: Puts guests into sub-groups, so they only see others in the same group
- &groupview: The same as &group, except it lets you see those groups without actually needing to join them with your mic/camera
- &groupaudio: Tells the system to not filter out audio streams when using &group
- &datamode: Combines a bunch of flags together; no video, no audio, GUI, etc.
- &audiooutput: Like &sink, but selects the default audio output device
- &sink: Outputs the audio to the specified audio output device, rather than the default
- &audiodevice: Pre-configures the selected audio device
- &videodevice: Pre-configures the selected video device
- &vdo: Like &videodevice for selecting a default video device, but you can still choose to change the camera
- &device: Same as &audiodevice or &videodevice, but applies to both
- &miconly: Share audio-only; no video publishing allowed
- &miconlyoption: A mic only button shows if a guest joining a room
- &safemode: Tries to load the camera/audio with as little possible complexity as possible
- &autostart: Skips the camera/audio device or screenshare selection
- &easyexit: Won't ask the user to confirm that they wish to exit or leave the page
- &webcam: Disables screen-sharing as an option
- &webcam2: Will show the "Share your Camera" button before asking the user to select camera options
- &screenshare: Disables camera-sharing as an option
- &screenshare2: Will show the "Share your Screen" button before asking the user to select screenshare options
- &website: Only shares a website with viewers
- &fileshare: Allows the user to select a video or audio file as a source for streaming
- &intro: When combined with the either &webcam or &screenshare, this option won't auto-load the camera/mic selection page
- &host: Shows a pop up to invite more guests to the room
- &tip: Enables Ninja Backer tipping for a stream
- &tips: Shows a help-screen on the guest joining
- &welcome: Adds a message the guest will see when joining the room
- &welcomeb64: The same as &welcome, except this takes an input as a base64 encoded string
- &welcomeimage: Lets you specify an image that appears for a few seconds once a guest joins
- &hangupmessage: Option for a custom hang-up message
- &humb64: The same as &hangupmessage, except this takes an input as a base64 encoded string
- &groupmode: Added to the URL, when not assigned to a group, you don't hear or see anything
- &audience: Secure Public Stream Publishing
- Camera Parameters: Options to pre-set the camera settings
- &whitebalance: Lets you manually pre-set the white balance of the camera/webcam
- &exposure: Lets you manually pre-set the exposure of the camera/webcam
- &saturation: Lets you manually pre-set the saturation of the camera/webcam
- &sharpness: Lets you manually pre-set the sharpness of the camera/webcam
- &contrast: Lets you manually pre-set the contrast of the camera/webcam
- &brightness: Lets you manually pre-set the brightness of the camera/webcam
- Video Parameters: Resolution, FPS, effects, self preview, mute video, PTZ, codec, buffer, broadcast, scale
- &blind: Video playback is disabled
- &quality: Presets the quality setting for a guest
- &width: Sets the maximum width of the video allowed in pixels
- &height: Sets the maximum height of the video allowed in pixels
- &aspectratio: Changes the aspect ratio on the publisher side
- &contenthint: =motion prioritizes frame rate; =detail prioritizes resolution
- &mediasettings: Adds the option to change the video and audio settings dynamically via the settings menu
- &noscale: Disables the publishing resolution from being capped
- &fps: Sets the target frame rate of the video in frames per second
- &maxframerate: Like &fps, except it will allow for lower frame rates if the specific frame rate requested failed
- &effects: Applies effects to the video/audio feeds
- &backgroundblur: Enables the background blur effect
- &greenscreen: Enables the digital greenscreen effect
- &virtualbackground: Enables the virtual background replacement effect
- &transparentbg: Makes the video background fully transparent
- &facemesh: Enables the face mesh overlay effect
- &chromakey: Enables chroma key green removal
- &chromakeybg: Enables chroma key green removal with a background image
- &facetracker: Enables the face tracker effect
- &overlayfx: Enables the overlay image effect
- &anonymousmask: Enables the anonymous face mask effect
- &dogface: Enables the dog ears and nose face effect
- &effectvalue: Sets the amount of blur or effect applied
- &viewchroma: Receiver-side chroma key. Removes a chosen color from incoming video streams without needing anything from the sender.
- &imagelist: Can be used to pass a list of background images via the URL
- &avatar: Adds the ability to select an image, instead of a video device
- &fullscreen: The preview video will be fullscreen
- &showpreview: Forces the guest to have a self-preview
- &minipreview: Mini self-preview at the top right corner
- &minipreviewoffset: Used to position where the mini preview is located by default on screen
- &largepreview: Will disable the mini-preview functionality
- &nopreview: Disables the local self-preview
- &hideguest: Has a guest join a room not visible to others
- &videomute: Auto mutes guest's video
- &ptz: Enables pan/tilt/zoom control of the device, if compatible
- &webp: Custom video codec for broadcasts
- &webpquality: Quality setting for the &webp option
- &scale: Scales the video resolution of the inbound video by the given percent
- &viewwidth: Does the same thing as &scale but you pass the width in pixels
- &viewheight: Does the same thing as &scale but you pass the height in pixels
- &dpi: Overrides the automatically selected Device Pixel Ratio
- &sharper: Should 'up to' double the amount of playback video resolution
- &codec: Requests a preferred video codec from the sender
- &h264profile: OpenH264 software encoding will be used
- &buffer: Sets the video buffer
- &buffer2: Same as &buffer, but instead includes the round-trip-time
- &fadein: Has videos fade in smoothly
- &broadcast: A useful flag to allow the director to present their own video to the group, often used in conjunction with a virtual webcam or Meshcast. It allows for larger groups rooms by reducing load on guests
- &directoronly: Will show the audio and the video of the director but not of the guests
- &showonly: Only shows any stream ID that is listed
- &novideo: Disables all video playback on the local computer
- &nodirectorvideo: Disables all video playback from room directors
- &slideshow: Plays video back as a series of full-window images
- &zoom: Set the optical/driver-based zoom on your camera to some preset on start
- Video Bitrate Parameters: Changing the bitrate of the outgoing and incoming video and for rooms
- &outboundvideobitrate: Default target video bitrate for outgoing video streams
- &maxvideobitrate: Limits the max video bitrate out for this publisher, per stream out
- &limittotalbitrate: Limits the total outbound bitrate
- &controlroombitrate: Allows a guest to control their total room video bitrate dynamically from the settings panel (under video settings)
- &roombitrate: Limits any guest viewer in the group chat room from pulling the video stream at more than the specified bitrate value
- &maxbandwidth: Judges the available bandwidth of a sender's connection
- &videobitrate: Sets the "desired target" bitrate in kbps
- &totalscenebitrate: Max. video bitrate a scene uses
- &totalroombitrate: The total bitrate a guest in a room can view video streams with
- &roomtier1bitrate: Sets the automatic room-only bitrate tier for weaker mobile devices
- &rt1b: Short alias for &roomtier1bitrate
- &roomonlylowbitrate: Alias for &roomtier1bitrate
- &rolb: Short alias for &roomtier1bitrate
- &roomtier2bitrate: Sets the automatic room-only bitrate tier for normal and stronger devices
- &rt2b: Short alias for &roomtier2bitrate
- &roomonlybitrate: Alias for &roomtier2bitrate
- &rob: Short alias for &roomtier2bitrate
- &maxmobilebitrate: Sets the normal mobile sender bitrate cap for guest room publishing
- &lowmobilebitrate: Sets the lower fallback mobile sender bitrate cap for guest room publishing
- &nomobilebitratecap: Disables only the mobile sender bitrate safety cap
- &totalbitrate: Sets both &totalscenebitrate and &totalroombitrate flags
- &zoomedbitrate: Lets you set the target bitrate for a guest when they 'zoom in' (fullscreen) on a video
- &optimize: Video bitrate reduced when the video is not visible in OBS (not active in a scene)
- Audio Parameters: Filters, adding delay, bitrate, channels, mono/stereo, muting guests etc.
- &proaudio: Improves the audio quality, changes default audio settings and sets the audio mode to stereo
- &stereo: Sets the audio mode to stereo and changes default audio settings to improve audio quality
- &mutespeaker: Auto mutes the speaker
- &deafen: Audio playback is muted
- &noaudioprocessing: Disables all webaudio audio-processing pipelines
- &echocancellation: Automatic echo-cancellation is ON or OFF
- &voiceisolation: Enables OS/UA voice isolation mode for the microphone
- &audiogain: Applies a gain multiplier (as a percentage) to the local microphone
- &autogain: Sets whether audio auto-normalization is ON or OFF
- &compressor: Applies a generic audio compressor to the local microphone
- &denoise: Turn audio noise reduction filter ON or OFF
- &distort: Will try to "distort" your microphone's output audio, making your voice a bit anonymous
- &equalizer: Provides access to a generic audio equalizer that can be applied to the local microphone
- &limiter: Applies a generic audio limiter to the local microphone
- &lowcut: Adds a low-cut filter
- &noisegate: Lowers your mic volume to 10% of its current value based on volume-level activity
- &noisegatesettings: Lets you tweak the &noisegate variables, making it more or less aggressive as needed
- &audiocontenthint: =music fixed bitrate; =speech bitrate is variable
- &audiolatency: Adds an audio-latency to the published audio stream
- &micdelay: Delays the microphone by specified time in ms
- &micsamplerate: Sets the microphone capture sample rate (Hz)
- &micsamplesize: Sets the microphone capture sample size (bit depth)
- &micpanning: Pan your microphone left or right before sending
- &mute: Starts with the microphone muted by default
- &automute: Will mute the microphone of a guest when not loaded in an active OBS scene
- &outboundaudiobitrate: Target audio bitrate and max bitrate for outgoing audio streams
- &inputchannels: Audio capture device to select N-number of audio channels; force mono or stereo capture
- &monomic: Sets a guest's audio input to mono (1-channel)
- &volume: Sets the 'default' playback volume for all video elements
- &volumecontrol: Shows a dedicated local audio-volume control bar for canvas or image elements
- &audiobitrate: Manually sets the audio bitrate in kbps
- &vbr: Sets the audio bitrate to be variable, instead of constant
- &mono: Has the inbound audio playback as mono audio
- &noaudio: Delivers video only streams; audio playback is disabled
- &nodirectoraudio: Disables all audio playback from room directors
- &panning: Pans the outgoing audio left or right, allowing for spatial audio group chats
- &sync: Sets an offset (in ms) for the automatic audio sync fix node
- &samplerate: Audio playback sample-rate, in hz
- &channels: Specifies the number of output audio channels you wish to mix up or down to
- &channeloffset: Shifts audio channels 0 and 1 up channels, based on the offset value
- &playchannel: Will play either the left or right audio stream-only for an incoming stereo stream
- &ptime: Audio packet size
- &maxptime: Maximum packet size of audio
- &minptime: Minimum packet size of audio
- &lowlatency: Enables a preset of settings optimized for ultra-low latency streaming
- &audiocodec: Lets you specify the audio codec
- &dtx: Turns off the audio encoder automatically when no little to no sound is detected
- &nofec: Disables FEC (audio forward error correction)
- Mixer/Scene Parameters: Layout and design for the mixer in rooms/scenes, preload/hidden scene bitrate
- &solo: Similar to &scene, but tells the system to be a solo-link
- &view: Defines the stream(s) you are receiving, by their stream IDs
- &include: Includes streams that do not exist in the room
- &exclude: Same concept as &view, except does the opposite
- &layout: Shows the guest a return feed of the current mixer layout when using the Mixer App
- &activespeaker: Auto-hides remote guests videos when added, if those guests are not speaking actively
- &activespeakerdelay: This option can be used in conjunction with &activespeaker
- &order: The order priority of a source video when added to the video mixer
- &slots: Will force the auto-mixer to have that number of slots, even if there are more or less videos available to fill them
- &fakeguests: Creates simulated guest videos
- &randomize: Random video loading order
- &cover: Has the videos fully "cover" their assigned areas, even if it means cropping the video
- &43: Optimizes the video mixer for 4:3 videos
- &portrait: Optimizes the video mixer for 9:16 videos
- &square: Optimizes the video mixer for 1:1 aspect ratio videos
- &forceviewerlandscape: Keeps all incoming videos oriented (rotated) so that the aspect ratio is always above 1
- &animated: Videos in a group scene will slide around the screen when being re-arranged
- &manual: Disables the auto-mixer, allowing for a custom mixer to be used
- &locked: Will force a the VDO.Ninja's mixer output keep the mixed render contained to a specific aspect-ratio, regardless of the browser's window size
- &poster: Lets you specify a poster image for videos that have not yet started playing
- &hideplaybutton: Will hide the default big play button that overlays a video when auto play is not allowed
- &motiondetection: Does a few things when it detects motion in a video
- &scene: Defines the link to be treated like a scene
- &scenerestore: Restores a guest's selected scene assignments after reconnecting
- &scenetype: Shows only the last added video to a scene
- &autoadd: Auto-adds the specified stream IDs to the scene
- &hiddenscenebitrate: Can be used to force videos not added yet to a scene to run at the specified bitrate
- &preloadbitrate: Can be used to change the pre-load target bitrate for scenes
- &nosignalpattern: Shows a built-in "No Signal" test pattern while a view or scene link has no active video feeds
- &waitimage: You can add a custom image which shows up while waiting for the &scene or &view link
- &waitmessage: You can add a custom message which shows up while waiting for the &scene or &view link
- &waittimeout: Specifies a delay for &waitimage and &waitmessage while waiting for the &scene or &view link
- &viewslot: Enables viewing a specific slot from a scene link when the director is using &slotmode
- Settings Parameters: Language, save cookies, remote access, chat widget, chunked mode, raise hands, notify, transcription, closed captions
- &language: Sets the interface language
- &remote: Allows remote PTZF control, mirror/rotate transforms, and access to statistics
- &controlobs: The ability for VDO.Ninja to Remotely Control OBS Studio while streaming/directing
- &allowedscenes: Option to filter which OBS scenes a remote guest has access to controlling when using &controlobs
- &stats: Shows the connection/media stats window by default
- &sticky: Allows a user to save and then later restore their streaming session settings
- &clearstorage: Will clear all the saved user preferences for all sessions
- &disablehotkeys: Disables hotkeys (like CRTL + M)
- &showlist: Shows list of hidden guests
- &nopush: Blocks outbound publishing connections
- &hidehome: Hides the VDO.Ninja homepage and many links that lead to it
- &hidetranslate: Hides the option to translate VDO.Ninja
- &clock: Shows the current time
- &clock24: The same as &clock option, except it uses 24-hour time for the display
- &timer: Positions the countdown timer
- &powerpoint: Adds a built-in basic controller to control PowerPoint
- &widget: Will load a side-bar with an IFrame embed, with support for YouTube / Twitch / Social Stream
- &token: A token for invite/scene links to determine whose the director of a room
- &transcribe: Enables transcription and closed captioning
- &signalmeter: Visualizes the packet loss of a guest
- &batterymeter: Shows the battery meter for guests that are on devices with a battery that's draining/charging
- &consent: Will ask the user for content to remote change their camera or microphone
- &prompt: Ask a publisher before sending a source stream to a new viewer.
- ¬ify: Audio alerts for raised hands, chat messages and if somebody joins the room
- &r2d2: Easter egg ¬ify sound
- &directorchat: Message ONLY the director
- &chatlite: Enable Social Stream Lite overlay integration in VDO.Ninja
- &maxconnections: Limit the total number of peer connections to a source.
- &maxviewers: Limits the number of viewers allowed
- &testmedia: Synthetic camera/microphone media for automation and test workflows
- &chunked: VDO.Ninja chunked and WebCodecs publishing mode for higher-control video delivery, recording workflows, buffering, FEC, retransmissions, and advanced transport tuning.
- &retransmit: Relays an incoming chunked media stream to downstream viewers without transcoding it first.
- &rampuptime: When a guest connects, this tries to load video from that guest for a few seconds, even if not yet added to a scene
- &sensor: Access device sensor data at given rate
- &sensorfilter: An option to explicitly list what &sensor data you want to capture and transmit
- &postimage: Post a snapshot of your local camera to a HTTPS/POST URL
- &postinterval: Time interval in seconds for &postimage
- &slot: Tells the director which slot the guest should prefer to be in
- &closedcaptions: Enables displaying of closed captioning text
- &nocaptionlabels: Disables showing the names when using the &closedcaptions feature
- &enhance: Tells the remote source that you would like them to prioritize the audio stream over other streams
- &bitratecutoff: If the total bitrate drops below the specified bitrate, the viewer will auto-hide the audio and video for that stream
- &cutscene: Specifies an OBS cut scene to switch to when the bitrate drops below a threshold
- &statsinterval: Lets you change the default stats update interval from 3-seconds to something else
- &keyframerate: This tells the remote publishers to send keyframes at a specified rate
- &maxpublishers: Limits the number of remote peer connections that are publishers
- &showconnections: Displays the total number of p2p connections of a remote stream
- &obsfix: Disables or adjusts the sensitivity of the VP8/VP9 Codec packet loss 'fix' for OBS
- &streamlabs: Tells VDO.Ninja to not block VDO.Ninja from attempting to run when using Streamlabs for MacOS
- &getfaces: Will request a continuous stream of face bounding boxes
- &nochunked: Will ignore the chunked version and use the low-latency version
- &dropbox: Enable Dropbox Cloud Sync uploads (OAuth or manual token fallback)
- &gdrive: Enable Google Drive Cloud Sync uploads
- &endpage: Redirect to a page after hangup; optional delay
- &autoend: Automatically end the session after a duration (ms)
- &retry: Control automatic retry/reconnect timing for lost streams
- &autorecover: Enables the connection-recovery bundle for unstable P2P paths
- &p2pfailtimeout: Sets the recovery stall/disconnect timing window for peer-to-peer links
- &peerrecoversteps: Sets how many automated recovery steps are attempted per peer before giving up
- &autoreload: Automatically reload at a set interval
- &autoreload24: Automatically reload at a specific time of day
- Buttons and Control Bar Parameters: Show/hide buttons, adjust the user control bar and video control bar
- &autohide: Auto-hides the control bar after a few moments of the mouse being idle
- &controlbarspace: Forces the user control bar to be in its own dedicated space
- &nosettings: Disables the local settings button
- &nomicbutton: Disables the mic button; guests can't mute audio
- &nospeakerbutton: Hides the speaker button
- &novideobutton: Disables the video button; guests can't mute video
- &nofileshare: Hides the ability for a guest to upload a file
- &screensharebutton: Forces the screen-share button to appear for guests
- &nohangupbutton: Hides the hang-up button
- &chatbutton: Shows or hides the chat button
- &bigbutton: Makes the microphone mute button a lot bigger
- &fullscreenbutton: Adds a full-screen button to the control bar
- &nowebsite: Disables IFrames from loading, such as remotely shared websites by another guest or director
- &hands: Enables a "Raise Hand" button for guests
- &videocontrols: Shows the video control bar
- &nocontrols: Will force hide the video control bar
- &forcecontrols: Will try to keep the video controls visible, even if your mouse isn't hovering over the video
- &overlaycontrols: Overlay the control bar without reserving layout space
- Design Parameters: Labels, styles, clean output, CSS, mirroring, margin, dark mode, background color, disable tallies etc.
- &showlabels: Display labels as a video overlay
- &fontsize: Let you set font-size of the closed captions and stream labels
- &style: Lets you select how audio-only elements are displayed in OBS and for guests
- &bgimage: Can be used to set the default image avatar, when using &style=0 or &style=6
- &showall: Includes non-media-based push connections as video elements in a group room
- &meterstyle: Optional audio meter style type
- &cleanoutput: Keeps the output as clean as possible from UI elements
- &cleanish: Cleaner output; not as clean as &cleanoutput
- &css: Loads a custom CSS file
- &base64css: Lets you add css to the URL, but as a single string, so no external reference to a file is needed
- &js: Lets you pass a third party hosted javascript file URL
- &base64js: Lets a user add raw javascript to the URL to run on page load
- &mirror: Inverts the video so it is the mirror reflection
- &nomirror: Disables the default mirror state of the video preview for a guest
- &flip: Inverts the video so it is upside down
- &rotatewindow: Will rotate the contents of the VDO.Ninja window
- &structure: Will have the video holding div element be structured to the aspect ratio
- &color: You can specify the background color independent of the border color
- &blur: Will try to add a blurred background to the video so it fits the structured video container
- &border: Adds a border around the videos
- &bordercolor: Defines the color of &border
- &holdercolor: Sets the video holder background color behind video tiles
- &rounded: Rounds the edges of videos
- &margin: Adds a margin around the videos in pixel
- &darkmode: Darkens the website and interface
- &lightmode: Forces to enable the lightmode / disable the darkmode
- &background: Accepts a URL-encoded image URL to make as the app's default background
- &chroma: Sets the background for the website to a particular hex color
- &transparent: Makes the background transparent
- &nocursor: Hides the mouse cursor over videos at a CSS level
- &nomouseevents: Disable mouse events on the page (prevent clicks/drag)
- &mutestatus: Show a muted/unmuted state icon overlay on remote tiles
- &favicon: Will change the browser's page favicon image
- &headertitle: Will change the browser's page title
- &rotate: Rotates the camera
- &grid: Applies an rule-of-thirds grid overlay to the self-preview
- &pagezoom: Add an on-screen zoom slider for the viewer layout
- &hideheader: Hides just the top header-bar
- &hidemenu: Hides the VDO.Ninja-branded menu and header bar
- &tally: Will make the tally sign larger and colorize the background of the page
- &tallyoff: Disables the Tally Light's visibility for that particular guest
- &cleanviewer: Hides many of the UI elements and pop-ups that may cause unwanted visual elements
- &obsoff: Disables the tally light effects
- &pip: Auto PIP the first loaded video
- &pipall: New floating picture in picture mode, so you can pop out the entire video mix as a pinned window overlay
- &pipme: Will cause your self-video preview window to pop out into its own picture in picture
- &rows: Lets you specify how many rows to use in the VDO.Ninja auto mixer.,
- Director Parameters: Options for &director URLs
- &director: Enters a room as the director, instead of a guest and have full control
- &codirector: Allows assistant directors to join the director room with a shared co-director password and a subset of protected controls.
- &blindall: It allows the director 'blinding' all the guests at a time with a new button
- &cleandirector: Hides the invite URL options in the Director's room
- &hidesolo: Lets you hide the solo links from showing
- &hidecodirectors: Hides the co-directors from appearing in the director's room
- &minidirector: Default mini director stylesheet
- &orderby: Orders guest's by their stream ID in the director's room
- &rooms: Quick director access to preset transfer-room destinations.
- &roomcap: Set a server-side cap on how many guests can be admitted to a claimed room.
- &roomkey: Add a trusted bypass key for room approval and custom room caps.
- &noclaim: Join director mode without trying to claim the room as the main director.
- &requireapproval: Require manual director approval before guests can join a claimed room.
- &approvepopup: Show a director confirmation popup when a guest is waiting for approval.
- &graphs: Enable bitrate/codec/resolution graphs in the Director UI
- &autochannels: Auto-assign guests to unique audio output channels for multitrack recording
- &broadcasttransfer: Will let you specify the default for whether to transfer a guest from room to room in broadcast mode or not
- &showdirector: Lets the director perform alongside guests, showing up in scene-view links
- &slotmode: Gives you the possibility to assign slots to the connected guests
- &previewmode: Activates the Preview layout for the director's room by default
- &novice: Hides some advanced guest options in the director's control center
- &layouts: An ordered array of layouts, which can be used to switch between using the API layouts action
- &maindirectorpassword: Lets you set a pseudo 'master room password' as a director
- &pausepreview: Reference for the \&pausepreview URL parameter in VDO.Ninja including behavior examples and related options.
- Screen-share Parameters: Labels, audio filters, type, bitrate, quality etc.
- &screensharestereo: Sets the audio mode for screen-shares to stereo and changes default audio settings to improve audio quality
- &screenshareaec: Turns automatic echo-cancellation filter for screen-shares ON or OFF
- &screenshareautogain: Turns audio auto-normalization filter for screen-shares ON or OFF
- &screensharecursor: Attempts to show the mouse cursor on screen shares
- &screensharedenoise: Turns audio noise reduction filter for screen-shares ON or OFF
- &screensharefps: Set a target FPS for your screenshare (secondary stream)
- &screensharehide: Hides the local screen-share sub-window that appears when screen sharing in a room
- &screenshareid: Pre-sets the screenshare stream id for a screen share if its a secondary stream
- &screensharelabel: The screen-share of the guest will have the same label as the guest
- &screensharequality: Set a custom screenshare quality
- &screensharecontenthint: =motion prioritizes screen-share frame rate; =detail prioritizes screen-share resolution
- &screenshareaspectratio: Changes the screen-share aspect ratio on the publisher side
- &screensharetype: Defines how webcam and screenshare of a guest in a room interacts which each other
- &smallshare: Makes the screen share behave like a webcam share
- &screensharevideoonly: Lets you disable the option to select audio when screen sharing
- &suppresslocalaudio: Will disable local audio playback of a Chrome tab while screen-sharing it
- &prefercurrenttab: Will have the current tab as the default screen-share source
- &selfbrowsersurface: Excludes the current tab as a screen-share source option
- &systemaudio: Excludes the system-audio as an audio source when display sharing
- &displaysurface: Will pre-select display-share, rather than tab-share, when screen-sharing
- &screensharebitrate: Lets you manually set the video bitrate for screen-shares
- &sharperscreen: Sets &scale=100, but only for screen-shares
- &sspaused: Starts any screen-share paused
- Recording Parameters: Options to specify recordings with VDO.Ninja
- &record: Record functionality for guests
- &autorecord: Records the local video and the remote video(s) automatically on their initial load
- &autorecordlocal: Records just the local video automatically on their initial load
- &autorecordremote: Records just the remote video(s) automatically on their initial load
- &recordcodec: Lets you set the video recording codec
- &pcm: PCM audio recordings
- &recordmotion: Takes a video snapshot and saves it to disk whenever there is motion detected in a video
- Guest queuing Parameters: Options for guest queuing and approving system
- &queue: VDO.Ninja guest approval, waiting room, screening room, and green-room style queue workflows for directors and invite links.
- &screen: The guest can see and hear the director before being activated into the room.
- &hold: The guest waits on a hold message until activated or transferred by the director.
- &holdwithvideo: The guest waits on hold, while the director can already see and hear the guest before activation.
- &queuetransfer: Keep a transferred guest queued in the destination room until activated.
- Meshcast Parameters: Options for the &meshcast parameter like audio filters, bitrate, screen-share, codecs etc.
- &meshcast: Triggers the service, causing the outbound audio/video stream to be transferred to a hosted server
- &meshcastaudiobitrate: Option to change outbound audio bitrate of the &meshcast parameter
- &meshcastbitrate: Option to change outbound video bitrate of the &meshcast parameter
- &meshcastcodec: Option to change codec of the &meshcast parameter
- &mcscreensharebitrate: Option to change outbound screen-share video bitrate of the &meshcast parameter
- &mcscreensharecodec: Option to change codec of the &meshcast parameter while screen-sharing
- &meshcastscale: Scales down the meshcast video output via the URL
- &meshcastcode: Lets you specify the Meshcast server to use
- &nomeshcast: Tells a sender to provide a p2p stream, rather than a Meshcast stream
- WHIP Parameters: Options for the &whip parameter
- &whipout: Publish directly from OBS (or other) to VDO.Ninja without a virtual camera
- &whipview: Publish directly from OBS (or other) to VDO.Ninja without a virtual camera
- &whep: Play a WHEP endpoint as a viewer input
- &wheptoken: Bearer token for WHEP playback
- &whipoutcodec: Lets you specify the WHIP video output codec
- &whipoutaudiobitrate: Lets you specify the WHIP audio bitrate (kbps)
- &whipoutvideobitrate: Lets you specify the WHIP video bitrate (kbps)
- &whipoutscale: Scales down the WHIP video output via the URL
- &whipoutscreensharecodec: Option to change codec of the WHIP while screen-sharing
- &whipoutscreensharebitrate: Option to change outbound screen-share video bitrate of WHIP
- &cftoken: Accepts the special token without needing to specify the cloudflare.vdo.ninja part if using &whipout instead
- &autowhep: Auto-derive a WHEP share URL from a WHIP output URL
- &svc: Useful for publishing to WHIP broadcast servers that support scalable video modes
- &whepwait: Control WHEP ICE candidate collection wait time (ms)
- &whipwait: Control WHIP ICE candidate collection wait time (ms)
- &whepshare: Share an external WHEP source to viewers
- &whepsharetoken: Bearer token for sharing an external WHEP source
- Mobile Parameters: Options to specify push links and guest invite links for mobile phones
- &facing: Lets you specify either the front or rear facing camera as the default camera
- &forcelandscape: Forces the video output to landscape mode, regardless of how the phone is rotated
- &forceportrait: Forces the video output to portrait mode, regardless of how the phone is rotated
- &forceios: Forces iOS devices to publish video to this room
- ¬ios: Just tells the system that its not an iOS device, or iPad, even if it is
- &androidfix: Enable an H.264 profile compatibility tweak for Android
- &flagship: Will optimize the mobile experience for more capable smartphones
- &mobile: Optimizes a guest/push link for a mobile device to help reduce CPU issues
- ¬mobile: Optimizes a guest/push link for a mobile device to improve video quality
- &app: Loads the site into an "app mode" and allows you to load a new URL via the website itself
- API & MIDI Parameters: hotkey features via API and MIDI
- &api: Remote control API (HTTP-GET / WSS-based)
- API reference: This is a snapshot of the VDO.Ninja API documentation as of Aug 16th, 2023
- API reference - AI Generated: Advanced settings reference for API reference - alt version in VDO.Ninja including usage details and configuration notes.
- Client (node) event example: Simple VDO.Ninja API WebSocket Client Example
- &pie: Support for piesocket.com
- &midi: Global hotkey support via MIDI input and more
- &midiin: Allows for receiving of remote MIDI
- &midiout: Broadcast MIDI commands to a remote computer's virtual MIDI device
- &midiremote: Remote MIDI control
- &midichannel: Allows for specifying which midi channel (1 to 16) to listen on
- &mididevice: Allows to specify which midi device (1 and up) selected
- &midioffset: Allows you to set a series of buttons on a MIDI controller to be mute controls for those guests
- &mididelay: Lets you precisely delay the MIDI play-out
- &postapi: Lets you specify a custom POST URL to send events within VDO.Ninja to
- TURN & STUN Parameters: Options for setting up TURN and STUN servers
- &turn: Lets you specify a custom TURN server or disable all TURN servers
- &stun: Lets you specify a STUN server for webRTC negotiation
- &addstun: Appends an added stun server
- &icefilter: Filters ICE candidates
- &lanonly: Reference for the &lanonly URL parameter in VDO.Ninja including behavior examples and related options.
- &wss: Override the signaling WebSocket server endpoint
- &proxy: Forces your computer to try to connect to the handshake service via a different physical network end point and domain name
- &relay: Forces TURN relay server into use
- &autorelay: Automatically escalate failed peer paths to TURN relay during recovery
- &pendingicettl: Sets how long queued ICE candidates are kept before being discarded
- &secure: Disconnects communication with the handshake server as soon as possible and provides verbose feedback
- &tcp: Forces TCP mode
- &stunonly: Allow only STUN (no TURN/relay) ICE candidates
- &tz: Specifies a negative timezone value in minutes for a TURN server
- Parameters added in Version 24: Recently added to VDO.Ninja
- Complete List of Parameters in v26: A complete list of URL parameters, although not documented
- Upcoming Parameters: Upcoming parameters which are currently on vdo.ninja/alpha and/or vdo.ninja/beta
- Other Parameters: Not ready for production, not intended to be used or not well-documented
- Releases: Release notes and version history for VDO.Ninja updates, features, fixes, and compatibility changes.
- v24: VDO.Ninja release notes for v24 including feature updates bug fixes and behavior changes.
- v23 🌱: A refresh to the UI
- v22 👑: Long overdue, but full of riches
- v21 ❤️: A relatively small update, but
- v20 🎁: Ending 2021 with a bang 🎉🧨✨
- v19 🚀🤯: Release notes for Version 19.0 of VDO.Ninja
- v19.1 - 19.4: VDO.Ninja release notes for v19.1 - 19.4 including feature updates bug fixes and behavior changes.
- v18: Version 18 release notes; released May 28th, 2021
- v18.3: VDO.Ninja release notes for v18.3 including feature updates bug fixes and behavior changes.
- v17: VDO.Ninja release notes for v17 including feature updates bug fixes and behavior changes.
- v16: VDO.Ninja release notes for v16 including feature updates bug fixes and behavior changes.
- v16.3: VDO.Ninja release notes for v16.3 including feature updates bug fixes and behavior changes.
- v16.4: VDO.Ninja release notes for v16.4 including feature updates bug fixes and behavior changes.
- v15: VDO.Ninja release notes for v15 including feature updates bug fixes and behavior changes.
- v14: VDO.Ninja release notes for v14 including feature updates bug fixes and behavior changes.
- v13: November 16th 2020
… [truncated — open the raw llms.txt above for the full file]
Workflow automation software for everyone. Automate your work across 7,000+ app integrations—no developers, no IT tickets, no delays.
Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.
We help modern software companies drive more up-sells, cross-sells and renewals through industry leading product onboarding, engagement, and adoption.
Respond to customers on any channel, sync with your entire team and turn support conversations into product strategy.
Platform for businesses to send gifts to customers/employees.
Loops makes email marketing for modern SaaS companies easy. It's the best way to create, send and track beautiful email campaigns.
Drive pipeline with 10+ intent data sources, AI, and automation. Scale prospecting, personalization, engagement in one unified workflow.