NuvioTVOS
Chat, get help, report bugs, and share feature ideas.
Nuvio TV for tvOS
A modern Apple TV media player for browsing catalogs and playing user-configured sources.
SwiftUI tvOS shell - catalog browsing - AetherEngine / MPVKit playback
Download the latest Apple TV .ipa from Releases, then sideload it with Xcode, Apple Configurator, or your preferred tool. See the release notes for known issues.
AltStore / SideStore / Feather Source: Add
https://raw.githubusercontent.com/bobsupra/NuvioTVOS/main/apps.json· Add to AltStore · Add to SideStore
New beta alerts: Manage notifications → choose Custom → Releases.
Beta 3.5.1 is the latest tvOS release.
Quick download (.ipa) · Read the release notes · Report a bug or suggest an idea
The IPA requires a compatible tvOS development or sideloading signing workflow before installation.
New in Beta 3.5.1
- AniList & MyAnimeList Integrations: Full anime tracking sync with AniList and MyAnimeList. Syncs watched episodes, scores, and status with client credentials kept securely on the Apple TV.
- Native Top Tab Navigation: Optional layout in Settings → Appearance to switch from sidebar to native Apple TV top tab bar.
- Custom Subtitle Fonts & Style Presets: Load custom
.ttf/.otffonts transferred locally or via URL, plus manage and reorder subtitle style presets. - Stream List Customization & Live Preview: Customize stream source formatting with an interactive live preview, plus locally cached provider badge artwork.
- Continue Watching Labels & Title Scrolling: Control Continue Watching card labels (Focused Only, Always, Hidden) and marquee scroll long titles on focus.
- Player Speed Controls & Spoiler Masking: Granular playback speed adjustment and episode thumbnail/description spoiler protection.
- Multi-Source External Hero Ratings: Ratings from IMDb, Rotten Tomatoes, AniList, MyAnimeList, and TMDB with configurable order and provider switches.
- Hardening & Stability: Decoupled next-episode pre-buffering (no interruptions to playing torrent or Usenet streams), stabilized Details back-navigation, loading backdrop alignment fix, and Trakt Keychain persistence.
Built-in Player
Nuvio's free built-in AetherEngine is the default in Auto mode. MPVKit is the one-way fallback, and either engine can be selected in Settings.
- Playback: Native tvOS and Siri Remote controls, precise seeking and resume, saved audio and subtitle tracks, audio delay, frame-rate and dynamic-range matching, direct HTTPS and HLS streams, and custom HTTP headers.
- Video: HDR10, HDR10+, HLG, Dolby Vision P5/P8, experimental full Dolby Vision P7 FEL, and optional MetalFX upscaling of sub-1080p SDR toward the display's resolution, with VideoToolbox/Neural Engine super-resolution when supported on compatible devices running tvOS 27.1+.
- Audio: Dolby Atmos passthrough (E-AC3+JOC), channel fold-down, night-mode compression, and up to +12 dB dialogue lift with peak limiting. The optional lossless audio bridge converts supported non-streamable surround audio (TrueHD, DTS-HD MA, Opus) to up to 7.1-channel LPCM (24-bit for lossless sources; lossy inputs may be 16-bit) for compatible AVRs and eARC soundbars. When disabled, multichannel audio is bridged to Dolby Digital Plus with up to 5.1 channels for ARC compatibility.
- Subtitles and seeking: Embedded and add-on text/PGS subtitles, authored ASS/SSA through AetherEngine's custom renderer, and thumbnail previews while scrubbing. Optional Seekr storyboards provide extra preview frames when configured. MPVKit handles separate audio/video URLs, audio amplification, and complex ASS/SSA typesetting.
For supported 48 kHz TrueHD Atmos and DTS:X VOD, Settings → Playback → Player → Atmos & DTS:X Spatial Audio (Beta) opts into a fixed 9.1.6 render on tvOS 26+. It is off by default. The engine delivers 24-bit PCM to the system for HDMI and AirPods Spatial Audio, or lossy APAC for AirPlay; this is not TrueHD or DTS-HD bitstream passthrough. See the spatial audio notes for supported sources and fallback behavior.
Supported Tracking Services
Trakt · Simkl · AniList · MyAnimeList · WeTrakr · MDBList
Notes
- Content availability depends on your configured sources and their upstream services.
- The Apple TV Simulator cannot play AV1.
About
This project began with the Nuvio mobile app as its foundation. Since then, the tvOS version has grown into one of the best user-configured media players for Apple TV: a native SwiftUI app with catalog browsing, profiles, search, library and watchlist features, and playback controls designed for the Siri Remote.
The shared mobile code remains in composeApp, alongside the iOS app in iosApp. Active tvOS development happens in tvosApp/NuvioTV.
Current tvOS App
Native SwiftUI Apple TV app with configurable catalogs; profile-scoped Nuvio libraries, Jellyfin libraries, and SMB shares; Calendar and follows; and Watch Party. Top Shelf supports configurable content in carousel, landscape, and poster layouts. Optional Seekr seek previews show frames near the playhead. Playback uses AetherEngine, with MPVKit for demanding cases; the app also supports native Usenet/NNTP playback and opt-in P2P torrent streaming. See the tvOS source and Tuist project.
Contributing
Contributions are welcome; see CONTRIBUTING.md.
Development
Requires macOS, Xcode with an Apple TV simulator runtime, tvOS 18 or later, mise (tool version pinned in mise.toml), Tuist, and network access. The Xcode project is generated from tvosApp/Project.swift.
Clone with submodules and generate the workspace:
git clone --recurse-submodules <repository-url> NuvioTVOS
cd NuvioTVOS
mise install
(cd tvosApp && tuist generate)
With an Apple TV simulator booted, run ./scripts/run-mobile.sh tvos s or build the NuvioTV scheme in Xcode.
Configuration & Tests
Login is optional during development; the default Nuvio backend is configured for QR and email login. Unit tests are in NuvioTVTests and run with scripts/test-tvos.sh; UI tests use the separate NuvioTV-UI scheme. See the UI validation notes.
Built With
- SwiftUI and UIKit focus/input bridging for tvOS
- AetherEngine and MPVKit playback engines
- Configurable catalog, source, and subtitle APIs
- Kotlin Multiplatform / Compose Multiplatform code from the original mobile app
Legal & DMCA
Nuvio functions solely as a client-side interface for browsing metadata and playing media provided by user-configured sources. It is intended for content the user owns or is otherwise authorized to access.
Nuvio is not affiliated with any third-party extensions, catalogs, sources, or content providers. It does not host, store, or distribute any media content.
For comprehensive legal information, including the full disclaimer, third-party extension policy, and DMCA/Copyright information, visit the Legal & Disclaimer Page.
