CI/CD Status:
VoidStream for Android TV is an enhanced fork of the official Jellyfin Android TV client, optimized for the viewing experience on Android TV, Nvidia Shield, Amazon Fire TV, and Google TV devices.
| Platform | Minimum OS | Supported Devices |
|---|---|---|
| Amazon Fire TV | Fire OS 5+ (Android 5.1+) | Fire TV Stick (2nd Gen+), Fire TV Stick 4K, Fire TV Stick 4K Max, Fire TV Cube, Fire TV (3rd Gen+) |
| Android TV | Android 6.0 (Marshmallow) | Sony Bravia, Philips, Hisense, TCL, and other Android TV-certified devices |
| Nvidia Shield | Android 6.0+ | Shield TV (2015), Shield TV (2017), Shield TV (2019), Shield TV Pro |
| Google TV | Android 10+ | Chromecast with Google TV, TCL Google TV, Sony Google TV, and other Google TV devices |
Minimum Android SDK: API 23 (Android 6.0)
VoidStream is distributed through multiple channels. Each build is tailored for its distribution platform.
| Build | Distribution | OTA Updates | Install Method |
|---|---|---|---|
| GitHub | GitHub Releases | Built-in auto-updates | Sideload via Downloader app or ADB |
| Amazon | Amazon Appstore | Managed by Amazon | Install directly from Fire TV Appstore |
| Google Play | Google Play Store | Managed by Google Play | Install directly from Google Play Store |
| Feature | GitHub | Amazon | Google Play |
|---|---|---|---|
| OTA self-updates | Yes | No | No |
| Update notifications | Yes | No | No |
| Donate button | Yes | No | No |
| Install permission | Yes | No | No |
| Update channel | GitHub Releases API | Amazon Appstore | Google Play Store |
| Payment system | N/A | Amazon IAP | Google Play Billing |
VoidStream for Android TV builds on the solid foundation of Jellyfin with targeted improvements for TV viewing:
- Unified Library Support - Seamless playback from multiple Jellyfin servers
- Seamless switching between servers for content playback
- Improved server selection logic
- Synchronized Group Playback - Watch together with friends and family in perfect sync
- Dynamic playback speed adjustments based on drift calculations
- Buffering and ready state reporting for better synchronization
- User notifications for group join/leave events
- Full Playlist Support - Create, manage, and share playlists
- Add to Playlist button on detail screens with modal selection
- Create new playlists or add to existing ones
- Public playlist support for sharing with other users
- Remove from Playlist on long press
- Replaced the previous local-only Watchlist feature
VoidStream is the first Android TV client with native Jellyseerr support.
- Browse trending, popular, and recommended movies/shows and filter content by Series/Movie Genres, Studio, Network, and keywords
- Request content in HD or 4K directly from your Roku
- NSFW Content Filtering (optional) using Jellyseerr/TMDB metadata
- Smart season selection when requesting TV shows
- View all your pending, approved, and available requests
- Authenticate using your Jellyfin login (permanent local API key saved)
- Global search includes Jellyseerr results
- Rich backdrop images for a more cinematic discovery experience
- Multiple Rating Sources - Display ratings from various platforms:
- AlloCine, AniList, Douban, IMDB, Kinopoisk
- Letterboxd, Metacritic, MyAnimeList, Roger Ebert
- TMDB, Trakt
- TMDB episode ratings support with configurable settings
- Episode ratings displayed in library views
- Toggle buttons - Show/hide Shuffle, Genres, and Favorites buttons
- Library row toggle - Show/hide the entire library button row for a cleaner home screen
- Shuffle filter - Choose Movies only, TV Shows only, or Both
- Pill-shaped design - Subtle rounded background with better contrast
- Dynamic library buttons that scroll horizontally for 5+ libraries
- Rotating showcase of 15 random movies and TV shows right on your home screen
- Profile-aware refresh - Automatically refreshes content when switching profiles to prevent inappropriate content from appearing on child profiles
- See ratings, genres, runtime, and a quick overview without extra clicks
- Smooth crossfade transitions as items change, with matching backdrop images
- Height and positioning tuned for viewing from the couch
- Left Sidebar Navigation - New sidebar with expandable icons/text and configurable navbar position
- Folder View - Browse media in folder structure for organized access
- Quick access home button (house icon) and search (magnifying glass)
- Shuffle button for instant random movie/TV show discovery with genre-specific shuffle on long press
- Genres redesigned as sortable tiles with random backdrop images
- Dynamic library buttons automatically populate based on your Jellyfin libraries
- One-click navigation to any library or collection directly from the toolbar
- Cleaner icon-based design for frequently used actions
- ASS/SSA Subtitle Support - Direct-play and rendering support for ASS/SSA subtitle formats
- Subtitle Delay & Positioning - Fine-tune subtitle sync and adjust position/size for wide aspect ratio videos
- Max Video Resolution - New preference to limit video resolution
- Unpause Rewind - Automatically rewinds a configurable amount when unpausing playback
- Theme Music Playback - Background theme music support for TV shows and movies with volume control
- Pre-Playback Track Selection - Choose your preferred audio track and subtitle before playback starts (configurable in settings)
- Next Episode Countdown - Skip button shows countdown timer when next episode is available
- Automatic Screensaver Dimming - Reduces brightness after 90 seconds of playback inactivity to prevent screen burn-in with dynamic logo/clock movement
- Exit Confirmation Dialog - Optional confirmation prompt when exiting the app (configurable in settings)
- OTA Update System - Automatic check for new VoidStream versions with in-app update notifications
- Metadata organized into clear sections: genres, directors, writers, studios, and runtime
- Taglines displayed above the description where available
- Cast photos appear as circles for a cleaner look
- Fits more useful information on screen without feeling cramped
- Adjustable Backdrop Blur - Customizable background blur amount with slider control for personal preference
- Media Bar Opacity Control - Slider-based opacity adjustment for the featured media bar overlay
- Item details show up right in the row, no need to open every title to see what it is
- Buttons look better when not focused (transparent instead of distracting)
- Better contrast makes text easier to read
- Transitions and animations feel responsive
- Consistent icons and visual elements throughout
Genres.Menu.Example.mp4
Scrollable.Navigation.Bar.Example.mp4
Disclaimer: Screenshots shown in this documentation feature media content, artwork, and actor likenesses for demonstration purposes only. None of the media, studios, actors, or other content depicted are affiliated with, sponsored by, or endorsing the VoidStream client or the Jellyfin project. All rights to the portrayed content belong to their respective copyright holders. These screenshots are used solely to demonstrate the functionality and interface of the application.
From the Amazon Appstore (Recommended): Search for "VoidStream" in the Amazon Appstore on your Fire TV device and install directly. Updates are handled automatically by the Amazon Appstore.
Sideload from GitHub (Advanced):
Click to expand sideloading instructions
- Go to Settings on your Fire TV
- Select My Fire TV (or Device & Software)
- Select About
- Click on your Fire TV name 7 times rapidly until you see "You are now a developer"
- Go back to Settings → My Fire TV
- Select Developer Options
- Turn on Apps from Unknown Sources (or Install unknown apps)
- If prompted, confirm with Turn On
- From the Fire TV home screen, go to Find → Search
- Search for "Downloader" (by AFTVnews, orange icon)
- Install and open the Downloader app
- When prompted, allow Downloader to access files
- Open the Downloader app
- In the URL field, enter the download URL for the latest release:
https://github.com/ToastyToast25/VoidStream-FireTV/releases/latest - Navigate to the Assets section and select the github
.apkfile - The APK will download — when finished, select Install
- Once installed, select Done (or Open to launch immediately)
- Go back to Downloader and select Delete to remove the APK file and free up space
- Go to Settings → Applications → Manage Installed Applications to find VoidStream
- Or look for VoidStream in your Apps & Channels row on the home screen
- To move it to the front: long-press the app icon → select Move to front
From Google Play (Recommended): Search for "VoidStream" on the Google Play Store from your Android TV or Google TV device and install directly. Updates are handled automatically by Google Play.
Sideload from GitHub: Download the github APK from the Releases page and install via USB drive, Downloader app, or ADB.
Install from Google Play on your Shield, or sideload the github APK from the Releases page.
- Enable ADB Debugging in Developer Options on your device
- Find your device's IP address in Settings → Network
- On your computer, connect via ADB:
adb connect <DEVICE_IP>:5555
- Download the github APK from the Releases page
- Install via ADB:
adb install voidstream-androidtv-v*-github-release.apk
- Amazon Appstore & Google Play: Updates are delivered automatically through the respective store.
- GitHub (sideloaded): VoidStream includes a built-in OTA Update System that automatically checks for new versions. When an update is available, you'll receive an in-app notification with the option to download and install directly — no need to repeat the sideloading steps.
To enable media discovery and requesting:
- Install and configure Jellyseerr on your network (jellyseerr.dev)
- In VoidStream, go to Settings → Jellyseerr
- Enter your Jellyseerr server URL (e.g.,
http://192.168.1.100:5055) - Click Connect with Jellyfin and enter your Jellyfin password
- Test the connection, then start discovering!
Your session is saved securely and will reconnect automatically.
- Android Studio Arctic Fox or newer
- JDK 11 or newer
- Android SDK with API 23+ installed
# Clone the repository
git clone https://github.com/ToastyToast25/VoidStream-FireTV.git
cd VoidStream-FireTV
# Build debug (github flavor)
./gradlew assembleGithubDebug
# Build release APKs (requires signing config)
./gradlew assembleGithubRelease # Sideload build with OTA updates
./gradlew assembleAmazonRelease # Amazon Appstore build
./gradlew assembleGoogleplayRelease # Google Play Store buildapp/build/outputs/apk/github/release/voidstream-androidtv-v{VERSION}-github-release.apk
app/build/outputs/apk/amazon/release/voidstream-androidtv-v{VERSION}-amazon-release.apk
app/build/outputs/apk/googleplay/release/voidstream-androidtv-v{VERSION}-googleplay-release.apk
Create a keystore.properties file in the root directory (use keystore.properties.template as a guide):
storeFile=/path/to/your/keystore.jks
storePassword=your_store_password
keyAlias=your_key_alias
keyPassword=your_key_password- Uses Gradle wrapper (no need to install Gradle separately)
- Android Studio is recommended for development
- Keep Android SDK and build tools updated
- Code style follows upstream Jellyfin conventions
- UI changes should be tested on actual TV devices when possible
We welcome contributions to VoidStream for Android TV!
- Check existing issues - See if your idea/bug is already reported
- Discuss major changes - Open an issue first for significant features
- Follow code style - Match the existing codebase conventions
- Test on TV devices - Verify changes work on actual Android TV hardware
- Consider upstream - Features that benefit all users should go to Jellyfin first!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with clear commit messages
- Test thoroughly on Android TV devices
- Submit a pull request with a detailed description
Translations are maintained through the Jellyfin Weblate instance:
Translations contributed to VoidStream that are universally applicable will be submitted upstream to benefit the entire community.
- Issues - GitHub Issues for bugs and feature requests
- Discussions - GitHub Discussions for questions and ideas
- Upstream Jellyfin - jellyfin.org for server-related questions
VoidStream for Android TV is built upon the excellent work of:
- Jellyfin Project - The foundation and upstream codebase
- MakD - Original Jellyfin-Media-Bar concept that inspired our featured media bar
- Jellyfin Android TV Contributors - All the developers who built the original client
- VoidStream Contributors - Everyone who has contributed to this fork
VoidStream for Android TV is licensed under GPL v2 (GNU General Public License version 2).
This means:
- ✅ Free and Open Source - Full source code available to all users
- ✅ Modify and Redistribute - You can modify and share your changes
- ✅ Build from Source - Complete build instructions provided
⚠️ Copyleft - All modifications must remain GPL v2
VoidStream features a modular plugin architecture that allows both the client and Jellyfin server to be extended with additional functionality. Plugins are distributed separately from the core GPL-licensed application, enabling premium features while keeping the base client free and open source.
- Separate Distribution - Plugins are standalone APKs, not part of the core codebase
- Independent Licensing - Plugins can be proprietary and monetized
- IPC Communication - Plugins communicate with the core app via Android's AIDL interface
- No GPL Contamination - Plugin code remains separate, maintaining GPL compliance
- Client & Server Enhancement - Plugins can extend both VoidStream clients and Jellyfin servers
Official VoidStream plugins are developed and maintained by the VoidStream team:
- ✅ Quality Guaranteed - Rigorously tested and maintained
- ✅ Full Support - Official support channels
- ✅ Automatic Updates - Via Google Play / Amazon Appstore
- 💰 Paid Premium Features - One-time purchase or subscription
- 🌐 Cross-Platform License - Buy once, use on all VoidStream clients (Android TV, Desktop, Roku)
Coming Soon:
- IPTV Plugin - Live TV integration (M3U, EPG, Xtream Codes, Stalker)
- Advanced Playback Plugin - Enhanced codecs and audio processing
- Smart Home Integration - Control via Alexa, Google Assistant, Home Assistant
Pricing Models:
Plugins are offered with flexible pricing to suit different user needs:
| Plugin Type | Pricing Model | Example Price | Notes |
|---|---|---|---|
| IPTV Plugin | One-time purchase | $9.99 | Lifetime access, all platforms |
| Advanced Playback | One-time purchase | $4.99 | Permanent unlock |
| Smart Home | One-time purchase | $2.99 | Buy once, use everywhere |
| Premium Bundle | Monthly subscription | $2.99/month | All current + future plugins |
| Premium Bundle | Annual subscription | $24.99/year | Save 30% vs monthly |
Pricing examples are subject to change. Final pricing will be announced at launch.
View Official Plugin Catalog → (Coming soon)
The VoidStream community can develop unofficial plugins using our open plugin API:
- 🔓 Open API - Plugin development SDK available to all
- 🌐 Community-Driven - Built by developers worldwide
⚠️ Use at Own Risk - Not officially supported by VoidStream- 📝 Various Licenses - Community plugins may be free or paid
Interested in building a plugin? Check out our Plugin Development Guide (Coming soon)
Browse Community Plugins → (Coming soon)
The plugin ecosystem is designed to work across all VoidStream platforms:
- 📱 VoidStream for Android TV / Fire TV (Current)
- 💻 VoidStream Desktop (Planned)
- 📺 VoidStream for Roku (Planned)
🎁 Buy Once, Use Everywhere: Purchase a plugin once and access it on all your VoidStream clients. Your plugin licenses are tied to your account, not a specific device or platform.
The "VoidStream" name, logos, and visual assets are trademarks and remain proprietary even though the code is GPL.
See the LICENSE file for full GPL v2 terms.
VoidStream for Android TV is an independent fork and is not affiliated with the Jellyfin project.
← Back to main VoidStream project