VDO.Ninja v29.0 Release Notes
Changes from v28.4 to v29.0
🎙️ Podcast Studio
A complete podcast production control room available via ?podcast or ?studio=podcast.
- ISO Track Recording — Per-speaker WAV files for clean post-production
- Cloud Sync — Stream chunks to Google Drive or Dropbox during sessions
- Local Disk Recording — File System Access API support (Chromium)
- Spectrogram Visualization — Real-time frequency analysis per track
- Pro Audio Guest Links — Pre-configured stereo 256kbps with AEC/AGC/noise reduction disabled
- Session Markers — Timestamped cue points with CSV export
- Host Input Panel — Director microphone capture with mute controls
- Talent Roster — Live view with audio level meters
- Group Video Recording — One-click popup for combined scene capture
🌐 Meshcast2 Support
New &meshcast2 parameter enables the next-generation Meshcast relay service via app.meshcast.io. Features include:
- Automatic fallback to anonymous relay if token is rejected
- Improved error handling with user-friendly messages for quota limits and origin restrictions
- WHIP/WHEP integration with authenticated accounts
💰 NinjaBacker Tipping Integration
Full tipping system integration with ninjabacker.com:
New Parameters:
&tipsid/&tip/&tips— Enable tipping and set performer ID&receivetips/&tipping— Enable tip receiving&tipserver— Custom tip server URL&tipamounts— Comma-separated tip amount options (default: 5,10,25,50,100)&tipcurrency— Currency code (default: USD)&tipqrsize— QR code size on video overlays¬ipqr— Disable QR code display&showtips/&supporttips— Show tip icons on videos
Features:
- Two-way opt-in system (performer and viewer must both enable)
- Stripe payment processing integration
- Real-time SSE notifications for incoming tips
- QR codes for quick mobile tipping
- Tip overlays in OBS and scene links
🔗 Mesh Network Debug View
Interactive visualization for troubleshooting P2P connections in the director's room. Click the network icon next to room name.
- SVG Graph — Nodes (guests) and edges (connections) with health indicators
- Color Coding — Green (healthy), orange (degraded), red (failed), gray (isolated), purple (viewers/scenes)
- Layout Modes — Circular, grid, force-directed (press button or cycle with keyboard)
- Auto-Patch — One-click mix-minus relay for failed P2P connections
- Unpatch Recovered — Remove patches when connections restore
- Edge Details — Click connections to see stats and manual patch options
- Problems Filter — Toggle to show only problematic connections
- Keyboard Shortcuts —
Rrefresh,Ffilter toggle,Escclose
🎚️ Mixer & Layout Improvements
Auto-Channel Assignment
&autochannels/&autochannel— Automatically assign guests to audio channels&autochannelmode— Control assignment strategy (round-robin, least-used)&preferchannel/&pc— Preferred audio channel for a guest
Slot System Enhancements
&slotmode/&slotsmode— Enable slot assignment mode&maxslots— Set maximum available slots- Slot Picker UI — Color-coded slot assignment from director view
- Dynamic slot color palette with HSL generation
Layout Enhancements
&alignright/&rightalign— Align videos to right side of scene- Improved screenshare spotlight layouts (multiple styles based on participant count)
- Column-based layout for right-aligned mode with automatic slot height calculation
🎛️ Director Features
Mix-Minus Support
&mixminus/&mm— Enable director mix-minus functionality- Per-guest custom audio mix dropdown ("Mix ▾" button)
- Select which audio sources each guest hears
- Director audio inclusion toggle
Channel Isolation
- Ch 1 / Ch 2 buttons — Route guest to left/right audio channel
- Isolate Channel — Send only specific mic channel to guest (requires
&stereo=1)
Guest Queue Improvements
&holdwithvideo/&queue4— Like&holdbut director sees guest video while waiting&approvepopup/&approvalpopup— Show popup notification when guests are held
📹 Recording & Streaming
Record Window Mode
&recordwindow/&rw— Capture current tab and record to disk- Optional bitrate parameter (e.g.,
&rw=6000) - Floating record button for scene windows
- "Go Live" button for direct WHIP streaming
Cloudflare WHIP Support
&cftoken/&cft— Cloudflare Stream integration&whippushtoken/&whipouttoken/&pushwhiptoken— Authentication tokens- Automatic WHIP URL generation per guest
🥽 WebXR & Sensor Data
AR Examples
examples/webxr-ar-sender.html— 6DoF AR video streaming with spatial trackingexamples/webxr-ar-receiver.html— AR stream display
Sensor Bridge
&webxrbridge/&externalsensors/&sensorsbridge— External sensor data input&sensorfilter— Filter sensor types (pos, lin, ori, mag, gyro, acc)&sensorsorigin— Allowed origin for sensor messages
🔧 New URL Parameters
| Parameter | Description |
|---|---|
&meshcast2
| Use next-gen Meshcast relay |
&altlabel
| Override display label |
&prefervideocodec
| Preferred video codec selection |
&ipv6
| IPv6 control (0=prefer IPv4, 1=dual-stack) |
&preferipv4 / &ipv4
| Disable IPv6 when IPv4 available |
&ptzslider / &ptzcontrol
| Show PTZ control sliders |
&ignorehighlight / &ih
| Ignore highlight/spotlight commands |
&pull
| Alias for &view
|
🖥️ UI Improvements
- Fullscreen Button — Optional fullscreen toggle on control bar
- Picture-in-Picture Button — PiP toggle on control bar
- PTZ Controls — Enhanced pan/tilt/zoom with reset autofocus
- Remote Hangup/Reload — Context menu options for guests
- Slot Color Picker — Visual slot assignment with color coding
🌍 Translations
- Polish (pl.json) — New language support
- Chinese Simplified (zh-CN.json) — Parenthesis fix
📄 Documentation & Other
- Cloud Sync Guide (
cloud.html) — Google Drive & Dropbox setup instructions - Dropbox Auth Page (
dropbox-auth.html) — Token generation helper - Director Messenger (
director-messenger.html) — Standalone messaging interface - OBS Dock Updates — Improved interface and Chinese locale
- Manifest Updates — PWA improvements with new icons and favicons
- Terms of Service — Updated with QoS provisions
🛠️ Technical Changes
- ~30,000 lines changed in
lib.js - ~1,300 lines changed in
main.js - New modular core recording system (
core/recording/) - Audio metering worklet (
core/audio/meter.worklet.js) - Event bus architecture (
core/events/) - Legacy session bridge for backward compatibility
Full Changelog: v28.4...v29.0