The goal is to give complete control over how streams are arranged. For example, you can set up one big “main” stream surrounded by smaller feeds, or just lay everything out in an even grid. Drag and drop to rearrange, resize on the fly, and save/load different grid setups for different use cases.
Features
Flexible layouts: create any arrangement of streams you want (2, 5, or more).
Stream management: add/remove streams, custom names/logos, save and export your setups.
Grid management (new in v1.2.0): save multiple configurations, switch between them, rename and organize presets.
Platform support: YouTube (video, live, shorts), Twitch (live with chat), HLS, MPEG-DASH, and now local video files.
Chat integration: YouTube and Twitch chats in draggable, resizable windows.
Performance: virtualized rendering for smooth 50+ stream grids, player pooling for lower memory, web workers for layout, debounced state updates, lazy chat loading.
Cross-platform: available for Windows, macOS, and Linux.
What’s new in v1.2.0
Virtual rendering and player pooling for much smoother performance.
Grid management system with save/load.
Local file playback support.
Improved error handling and recovery.
Cross-platform packaging with electron-builder (NSIS, DMG, AppImage, DEB, RPM).
Try it
Download prebuilt binaries from Releases: [GitHub Releases link]
Or build from source (Node.js 18+, npm 9+).
Repo: https://github.com/LordKnish/StreamGrid
I’d be interested in feedback from anyone who’s tried building video-heavy Electron apps, or who has ideas for making the system more efficient.