Built with Tauri v2, SolidJS, and Rust for maximum performance, hardware-accelerated transcoding, and a tactile claymorphic interface.
Download Latest Release β’ Features β’ Keyboard Shortcuts β’ Developer Guide β’ Documentation
ViveStream-Next is an advanced, ultra-lightweight, offline-first media downloader and local streaming platform. Unlike Electron-based alternatives, it avoids shipping a bundled Chromium browser, keeping the install size incredibly small.
- Frontend: SolidJS for extreme performance and a zero-Virtual-DOM experience.
- Backend: Tauri v2 powered by Rust for native OS integration and performance.
- Engines:
yt-dlp(Media Extraction),FFmpeg(Transcoding/Merging), andDeno(Cryptographic JS evaluation). - Database: SQLite (via
rusqlite&tauri-plugin-sql) for fast, local metadata indexing. - Local Server: A dedicated
warpHTTP server routes local media seamlessly to the video player.
- Smart Hardware Transcoding: Automatic hardware-accelerated transcoding via NVIDIA NVENC, Intel QSV, AMD AMF, and Linux VAAPI (with smooth CPU fallback).
- Multi-Fragment Downloads: Parallel fragment fetching for blazing-fast HLS/DASH downloads.
- Concurrent Queue Management: Configurable parallel download slots (1β5 simultaneous jobs) with real-time progress logging and status tracking.
- Advanced Extraction: Utilizes a headless native WebView to seamlessly extract Proof of Origin (PO) tokens, and
Denofor decrypting YouTube's JS obfuscation. - Browser Cookie Integration: Automatic cookie extraction from 8+ desktop browsers (Chrome, Firefox, Brave, Edge, Opera, Vivaldi, Chromium, Safari) for restricted or premium media.
- Zero-Config Setup Wizard: Automated initial provisioning and integrity verification for
yt-dlpandffmpegbinaries (downloaded on-the-fly to reduce installer bloat).
- Automated Playlist Ingestion: Paste any YouTube playlist URL to automatically create the playlist locally, download the media, deduplicate existing files, and link them.
- Custom Playlists: Create, reorder, rename, and manage playlists with one-click "Play All" queueing.
- Artist & Channel Hub: Automatically organizes media by artist/channel with avatar caching, subscriber badges, and dedicated channel catalogs.
- Interactive Favourites: Instant one-click bookmarking across all library views.
- Metadata Editor: Edit video titles and channel names directly from the media library.
- Local Streaming: Instant playback powered by an embedded local HTTP
warpserver routing files directly from your disk to the frontend. - Display Modes: Toggle between Standard View, Theater Mode, Fullscreen, and Picture-in-Picture (Miniplayer).
- Custom Subtitles & Playback Speed: Multi-track
.vttcaption rendering and variable playback speeds (0.25x β 2.0x). - On-Screen Display (OSD): Sleek glassmorphic OSD badges providing instant visual feedback for seeking, volume, and playback modes.
- Smart Context Queue: Seamlessly plays next items in context of current playlist or artist.
- Native Media Controls: Integration with system media controls (play/pause, next/prev) via the
souvlakicrate.
- Vibrant Themes: Switch between Sunset and Crimson accent palettes with Dark and Light mode support.
- Dynamic Sidebar: Collapsible navigation with optional auto-expand on hover.
- Toast & Modal Dialogs: Responsive notifications and tactile confirmations.
- 100% Private & Local: No telemetry, no tracking, no external server lock-in.
Press ? or Shift + / anywhere in the application to view the interactive cheat sheet:
| Shortcut | Action |
|---|---|
| Space or K | Play / Pause |
| M | Mute / Unmute |
| F | Toggle Fullscreen |
| T | Toggle Theater Mode |
| I | Toggle Miniplayer (PiP) |
| β / β | Seek Backward / Forward 5s |
| J / L | Seek Backward / Forward 10s |
| β / β | Volume Up / Down (5%) |
| N / P | Next / Previous Media in Queue |
| C | Toggle Captions / Subtitles |
| R | Toggle Repeat / Loop |
| 0 β 9 | Seek to Percentage (0% β 90%) |
| < / > | Decrease / Increase Playback Speed |
| Shortcut | Destination |
|---|---|
| Shift + 1 or H | Home |
| Shift + 2 or F | Favourites |
| Shift + 3 or P | Playlists |
| Shift + 4 or A | Artists |
| Shift + 5 or D | Downloads |
| Shift + 6 or S | Settings |
| Esc | Go Back / Close Modals |
| ? | Open Shortcuts Cheat Sheet |
wget https://raw.githubusercontent.com/rootlocalghost/ViveStream-Next/main/PKGBUILD
makepkg -siDownload the latest pre-compiled installer (.exe for Windows, .deb for Debian/Ubuntu, or .pkg.tar.zst for Arch) directly from the Releases page.
Tip
Security Notice (Unknown Publisher): ViveStream is a free, non-commercial open-source project. Because we do not purchase corporate code-signing certificates:
- Windows Defender SmartScreen: Click "More Info" β "Run Anyway".
- Linux: Right-click the binary β Properties β Check "Allow executing file as program" (or
chmod +x).
Because core engines (yt-dlp/ffmpeg) and downloaded media are stored locally at runtime:
- Before uninstalling, you can navigate to Settings β Danger Zone and select Nuclear Wipe to safely delete all media files and database storage.
To workaround WebKitGTK and Linux compositor issues, the application sets or accepts the following environment variables. You can set them before launching the application:
VIVESTREAM_SAFE_GRAPHICS=1: If set to1, disables DMA-BUF hardware acceleration in WebKitGTK by settingWEBKIT_DISABLE_DMABUF_RENDERER=1. Useful if running in a virtual machine or experiencing graphical glitches.WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1: Automatically set by the app to prevent spurious WebKitWebProcess seccomp crash traps (often seen on Arch Linux / Wayland / Hyprland).WEBKIT_FORCE_COMPOSITING_MODE=1: Automatically set to force hardware-accelerated compositor mode.WEBKIT_GPU_POLICY=force: Automatically set to force dedicated GPU rasterization.GDK_FRAME_CLOCK_FPS=0: Automatically set to uncap the GTK frame clock to match high refresh rate monitors (100Hz+).
- Bun (v1.0+)
- Rust & Cargo (v1.80+)
- C Build Tools & WebKitGTK (Linux only):
# Debian/Ubuntu sudo apt-get install -y libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev # Arch Linux sudo pacman -S base-devel webkit2gtk-4.1 curl wget unzip
-
Clone the repository:
git clone https://github.com/rootlocalghost/ViveStream-Next.git cd ViveStream-Next -
Initialize & Install dependencies:
bun run initThis command runs cargo build, installs JS dependencies via Bun, and builds Vite.
-
Run in Development Mode:
bun start # or bun run tauri devNote: This will spin up the SolidJS dev server and the Rust backend. Any changes to Rust code will trigger a recompile.
-
Run Automated Tests:
# Frontend tests (Vitest) bun run test # Backend tests (Cargo) cargo test --manifest-path src-tauri/Cargo.toml
-
Build for Production:
bun run tauri build # or use the provided scripts for specific platforms: bun run build:linux bun run build:win
For deep-dives into the codebase structure, architectural decisions, database schema, build setup, and Tauri APIs, see the docs/vivestream-next folder.
PolyForm Noncommercial License 1.0.0
This project is free to use, modify, and build upon for personal, educational, and non-commercial purposes. You may not use this software for any commercial purpose.
See the LICENSE file for details.
Disclaimer: This tool is intended for personal media archival and offline viewing of content you have the right to access. The developers are not responsible for how users utilize this software.