Releases: alexvermaning0/Resoweb
Releases · alexvermaning0/Resoweb
1.3
Changelog
All notable changes to this project will be documented in this file.
[1.3.0] - 2025-01-26
Added
- Initial release of Resonite Browser Server
- GPU-accelerated browser streaming with NVIDIA NVENC
- Support for 10+ simultaneous browser sessions
- Separate H.264 video (MPEG-TS) and MP3 audio streams
- Full browser control via WebSocket commands
- Session management with auto-cleanup
- Cursor visualization with click feedback (red flash on click)
- Per-session isolated audio via PulseAudio virtual sinks
- Session restart capability for GPU initialization failures
- Heartbeat system to keep sessions alive (60s timeout)
- Navigation commands (back, forward, reload)
- Navigation state reporting (bool2 format:
[canGoBack;canGoForward]) - Automatic URL change notifications (
URLChangedevents) - Mouse and keyboard interaction
- Scroll support
- Support for chrome:// and about:// URLs
- Cursor offset fine-tuning (-5px for perfect alignment)
Performance
- 2.5x capacity increase with GPU acceleration (10 streams vs 4 without GPU)
- NVENC hardware encoding reduces CPU usage by ~50%
- GPU-accelerated video decode for YouTube and other media
- Tested: 10 simultaneous 1080p30 YouTube streams on GTX 1050
Known Issues
- Occasional white screen on session start due to GPU initialization timing (~10-30% of sessions)
- Workaround: Use Wrench Icon (may need 2-3 attempts)
- Consumer NVIDIA GPUs limited to 8 concurrent NVENC sessions without driver patch
- Solution: Apply nvidia-patch for unlimited sessions
- Tab switching has 1-2 second delay while content loads
Technical Details
- Node.js 20+ with Express and WebSocket
- Playwright for browser automation
- FFmpeg with NVENC for video encoding
- Xvfb for virtual X displays
- PulseAudio for audio capture
- 1080p30 @ 6Mbps H.264 video (MPEG-TS)
- 48kHz stereo @ 128kbps MP3 audio
- LD_PRELOAD NVIDIA GLX for GPU acceleration
- Cursor offset: -5 pixels (Y-axis)