The biggest Nuvio-test release so far. Built on official NuvioTV 1.1.0-beta.4, with a big thank you to the NuvioTV team and contributors.
This one brings six big features: native Dolby Vision Profile 7 with FEL and MEL, seek thumbnails the app makes by itself, Watch party, your own media server inside Nuvio, and a new surround sound engine. Around them sit player buttons you can rearrange, the whole fork in 37 languages, old video formats that finally play properly, more reliable trailers and a long list of fixes.
These notes cover everything since 1.0.0-beta-nt1, build 1382. They are long because the release is. The five headline features come first, then everything else, and all the set-up steps and things worth knowing are collected in one place near the end: Setting up and good to know.
The big six
1. Native Dolby Vision Profile 7, FEL and MEL
Full Dolby Vision Profile 7, enhancement layer included, decoded natively inside Nuvio on Android 14. I have been able to unlock FEL on the Ugoos AM9 Pro, and this release is the player side of that work. No conversion to Profile 8.1 and no thrown-away enhancement layer: with Native DV7 FEL/MEL (Amlogic) the base layer, the enhancement layer (FEL or MEL) and the dynamic metadata all go through the Amlogic dual-layer decoder, the way a disc player does it.
- The mode checks the device, display and stream, and falls back to the normal Dolby Vision path if anything is not right.
- Seek thumbnails work on the native route, including held seeks.
- The Dolby Vision HUD shows the content-mapping version, levels, scene brightness, active picture area and video and HDMI information where available.
- Playback speed other than 1x is not available on the native route.
Please read this before you get excited: this works on one box today, the Ugoos AM9 Pro on Android 14, and only with the custom kernel I built to unlock FEL on it, plus a Dolby Vision display. The stock AM9 firmware cannot do it, and no other box can yet. On every other device the mode simply behaves like Auto. See Setting up and good to know.
2. Seek thumbnails, made by the app itself
Hold left or right (or fast-forward and rewind) and a strip of thumbnails slides past a framed picture that shows exactly where you will land. The pictures are made on your box, from the film you are watching. No third-party service, no API key, no add-on that has to support it, nothing uploaded anywhere. It works on anything from an old AVI to a 4K Dolby Vision remux. Experimental, and off by default.
- The film pauses while you hold, so there is no sound running on behind the pictures, and smaller boxes can make thumbnails several times faster. It continues from the chosen spot when you let go.
- Lands where you looked. Each step moves to the next 10-second mark and playback resumes on the frame shown. The tiles stay in place when a held seek speeds up.
- Works on 4K and 4K remuxes, including Dolby Vision (profiles 5 and 7 tested, 8 supported) and HDR10, with natural colours and black bars cropped off. Also AVI (XviD, DivX), MPEG-2, VC-1 and AV1 in MKV, MP4 and AVI files.
- Thumbnails are made while you watch (around where you are first), when you seek, when you pause, after you leave a film (for up to 10 minutes while you stay in Nuvio) and, if you choose, before playback.
- Made several at a time. Thumbnails are fetched up to eight at once before the film starts and three at once while it plays; on TorBox they share its four connections with the film. A slow server now takes a fraction of the time, and a server that refuses or drops a fetch goes back to one at a time. Boxes with spare power also decode several at once and find the best number by themselves (more while each picture still decodes as fast, fewer when the box slows its processor down or memory runs short). Small boxes stay at one for 4K.
- Come back after a switch from MPV to ExoPlayer on the same title, without pausing the film behind the generating screen.
- Survive a dropped connection. A failed fetch waits and tries again. After five failures in a row no new thumbnails are fetched, but the ones already made keep showing.
- Generate thumbnails before play (Off by default): the title waits on a "Generating thumbnails" screen with a progress ring and Start watching now. Titles whose thumbnails are complete just play, and an episode that follows on its own in a binge is never held. If the source is too slow (20 seconds without a new thumbnail, or more than four minutes still to go), the film starts by itself and the thumbnails carry on behind it. Tunnelled playback and the native Dolby Vision route are not held at the start; their thumbnails are made while you watch. Plain files (AVI, MP4, H.264) still get the generating screen on boxes that have the native route.
- Next episode ready in advance (needs Search sources before Play on): about six minutes before an episode ends, Nuvio starts making the next episode's thumbnails in the background, so they are often complete when it starts. For this it fetches the next episode's link early, which with some debrid or Usenet sources can add that episode to your account even if you stop watching.
- Follows your look: the strip, the framed picture and the generating screen use the active UI style (Original or Nuvio V2), your accent colour, focus style, font and UI scale, and sit on the seek bar wherever it is.
- Saved per release, about 6 KB each (roughly 1.5 to 3 MB for a two-hour film), capped at 64 MB in total and cleaned up automatically. Clear saved thumbnails shows the space used and deletes them.
- Adapts to the box. 3 GB and 4 GB boxes make thumbnails for everything while you watch. Smaller boxes such as Fire TV Sticks do the same for SD, 1080p and streaming 4K, and make 4K remux thumbnails when you seek, pause, before play or after you leave.
- Easy on busy servers. Thumbnails start with fewer downloads at once and pause only a few seconds when a server says it is busy. A server that limits is remembered for 30 minutes (only the file server that was busy, not the add-on in front of it), and if it happens on the generating screen, playback starts straight away. TorBox files reached through an addon link now stay within TorBox's connection limit.
Seeking has changed for everyone, thumbnails on or off: holding left or right now moves at a steady pace of up to five steps a second and speeds up the longer you hold (10 s, then 30 s, 60 s and 120 s steps). Single presses just jump 10 seconds, with no pictures and no extra work for the box.
3. Watch party
Watch the same film or episode with friends and family in other homes, in sync, straight from Nuvio. No account, no server of ours, nothing to install besides this app.
- Watch together from different homes. One person starts a party and shares a six-character code; everyone plays their own copy of the same title and the app keeps them on the same moment. Play, pause and seek carry over.
- Guests land on the right file. When one of a guest's own sources is the same file as the host's, it opens by itself; otherwise each source says how it compares.
- The room waits, but only once. A member who buffers pauses everyone for a few seconds; someone who keeps buffering catches up alone.
- Your surround sound stays untouched. A box sending Dolby or DTS bitstream to a receiver is never sped up or slowed down to catch up. It lines up while paused instead.
- The party survives. If the host leaves, the next member takes over. Pressing Home or switching the TV input makes you "away" instead of pausing everyone.
- Friends and invites. Add someone as a friend during a party, then invite them next time without a code. The invite pops up wherever they are in the app, and waits up to two hours if their app is closed. Each profile has its own friends.
- Make it yours. Pick the name others see and an avatar from a new set of over 140, and share the party with two small QR codes, one for iPhone and one for Android.
- A Watch party page and a player button. The page shows the code large enough to read from the couch, what is playing and how everyone is doing. The host decides whether guests may pause and seek for everyone.
- No account and no server of ours. Party messages are encrypted and pass through public relays. Debrid and media-server links never leave your device.
4. Your own media server: Jellyfin, Emby and Silo (experimental)
Connect your own media server and its libraries show up on Home, in Search, in the Library and as a source on any title the server has. New servers start with Use addon metadata on, so their titles open with your add-ons' details and count for Trakt, Simkl, MDBList and Nuvio Sync like any other title. It builds on the official app's Jellyfin and Emby work (pull request 3728 by tapframe) and takes it a good deal further.
- Jellyfin, Emby and Silo. Add a server in a few steps; on Jellyfin, sign in with a six-digit code instead of typing a password with the remote.
- Your libraries, everywhere. Each library becomes a row on Home, shows in Search and the Library, and your server's files sit at the top of the source list on any title the server has.
- Looks like the rest of Nuvio. Posters, logos, ratings and descriptions come from your add-ons, your custom poster pattern applies, and server streams show file name, video, audio, size and bitrate like add-on streams.
- Direct play with everything the player can do: Dolby Vision, TrueHD and DTS-HD passthrough, and seek thumbnails. A hiccup reopens the stream instead of falling back to a transcode, and when a transcode is needed the server is asked to keep lossless sound and HDR where it can.
- Carry on where you left off. If you watched further in the Jellyfin or Emby app, Nuvio starts from there. One Continue Watching row, the right next episode, and watched marks that reach Trakt, Simkl and MDBList.
- Skip intro from your own server's markers, timed for the exact file you are playing.
- Home and away. Give a server a second address and Nuvio switches by itself when the first cannot be reached. Servers with their own certificate are trusted once, after you have seen it.
- Private by default. Sign-ins stay on the device unless you turn on account sync, and access tokens are kept out of logs.
- Quick on big servers: a shared server with 100,000 files answers as fast as a small one.
5. A new surround sound engine
A new passthrough engine, ported from pull request 3107 in the official app, with the fork's hardened start-up kept. Lossless sound is packed for the HDMI link by the app itself, and Auto surround works out what your TV and receiver can take, so you no longer have to.
- TrueHD, DTS-HD MA and DTS:X are packed for the HDMI link by the app itself.
- Auto surround chooses the formats to pass through from what the chain reports. The fork's per-format switches are kept.
- DTS-HD inside MKV is found by its frame sync word, so tracks labelled plain DTS that are really DTS-HD are passed through correctly.
- Learned audio rejections no longer switch a format off for good after a hiccup. A format that already played in this title is not learned as refused, and the retry count starts again after a minute of clean playback.
- Forget learned audio rejections (Settings > Playback > Audio, in the Surround Sound group, shown in Auto and Manual): shows which formats were learned as refused by your receiver and lets them be tried as passthrough again.
- Audio formats are no longer marked as refused when the box has lost HDMI audio altogether, also right after the app restarts; only a format your receiver really turns down is remembered, including two at once (for example TrueHD and DTS-HD over a TV's ARC).
- Removed: the experimental MAT switch. The new engine replaces it.
- Device Assessment gives less audio advice: only the Force AC-3 and tunnelling items remain.
6. Player buttons you can arrange
I do not know another TV player that lets you do this. Settings > Player buttons puts every control of the player in your hands, per profile, with a live preview that uses the same layout as the real player.
- Show only what you use. Hide the buttons you never press and keep the ones you do.
- Put them where you want them. Move any button to the left, the centre or the right, across wrapped rows, in any order.
- Icons or labels. Choose compact icons or buttons with their names written out, whichever reads better from your couch.
- A tidy More menu. Anything you do not want on the bar can live in the More menu; move a button past the More boundary and it goes in.
- Works in both looks, Original and Nuvio V2, with the Control deck or the Invisible panel, and the Watch party button is part of it.
- Safe to play with. Save applies, Cancel discards, and Restore defaults brings back the standard layout.
Also in this release, at a glance
- The fork speaks your language: everything the fork adds is now translated into 37 languages.
- Old formats play smoothly: AVI, XviD, DivX and VC-1 files, with frame rate matching for AVI, and WMV files open in MPV by themselves.
- A dead link is no longer a dead end: automatic "try the next source" is safer and now also works with the MPV player.
- Subtitles by language: pick the language first, then see only its subtitles. Subtitles from installed addons are on by default.
- Five UI fonts and a separate subtitle font, plus outline or drop-shadow subtitle edges and more subtitle colours.
- A clearer timeline and a more honest stats HUD.
- Network and source tests with limits: a Quick check, an Advanced comparison and a Cancel button.
- Trailers that actually play: the official app's new background trailers, made far more reliable on Home cards and details pages.
- Landscape posters where you want them: the official app's landscape mode as a choice (Off, Home only or Everywhere), with better artwork on wide cards.
- From the official app, now in the fork (the work of the NuvioTV team): MDBList through your account, background trailers, shuffle, MDBList ratings, custom posters, landscape posters on every screen, subtitle AutoSync, a new built-in torrent engine, tidier settings, and three new languages (Croatian, Bengali and Hebrew).
New
Fonts and subtitle appearance
- Atkinson Hyperlegible Next and Source Sans 3 join Inter, DM Sans and Open Sans for the UI. Inter stays the default.
- A separate, per-profile Subtitle font: any of the five fonts or Renderer default. Changing the UI font does not change the subtitle font, or the other way round.
- Text subtitle edge: None, Outline or Drop shadow. Drop shadow is used when nothing has been chosen and after a subtitle appearance reset. Saved choices and colours are kept.
- New text colours Warm orange, Soft yellow, Pale blue and Lavender, and Charcoal and Medium purple outlines.
- Image subtitles (PGS, DVB) are recognised, so their panel offers Image Subtitle Size and hides text-only controls. Authored ASS/SSA styling is kept.
Search sources before Play
A per-profile option, off by default. When on, Nuvio can fetch and rank source lists in the background while you browse. Opening a stream and warming it up still wait until you choose to play. The one exception is seek thumbnails for the next episode (see above), which fetch that episode's link shortly before the current one ends.
The fork in 37 languages
Until now the fork's own features were English only. Everything the fork adds (thumbnails, Watch party, media servers, the audio engine, the player button editor, Device Assessment and the rest) is now translated into 37 of the app's 40 languages. Bengali, Tamil and Albanian keep the fork's text in English for now. If a line reads oddly in your language, tell me and I will fix it.
From the official app, now in the fork
These features come from official NuvioTV 1.1.0 (beta.1 to beta.4) and are the work of the NuvioTV team and its contributors. They arrive here with this release; where the fork changed or added something, it says so.
MDBList through your account
- Sign in on the TV under Settings > Tracking > MDBList with a code or QR, like Trakt. Watched marks, progress, history and scrobbling then go through that account.
- Your MDBList lists show in the Library.
- A pause or stop sent to MDBList is tried again when the network drops for a moment.
- Settings > MDBList shows your plan and today's API requests when you are signed in.
- An API key is now only needed for ratings. If you used MDBList tracking with an API key before, sign in once on each box and profile. Your API key and ratings settings stay as they are.
- MDBList ratings on the Home hero, Continue Watching, the next-episode card and show pages, in an order you choose. They load faster (kept between app starts) and no longer go missing in TMDB collections.
- Choose which of your MDBList lists show in the Library.
Trailers in the background
Background trailers are the official app's. The reliability work listed under "Trailers are more reliable everywhere", the smoked buttons and the "Logo over card trailer" switch are the fork's.
On the details page the trailer can play behind the page in place of the backdrop instead of taking over the screen, with black bars cropped off, and pause while you scroll down. Settings > Layout > Details > Trailers: turn on Auto-play trailers, then Play in background (and Pause when scrolling if you like). All off by default.
While a trailer plays on the details page, the buttons fade instead of disappearing, so the trailer button keeps focus and the remote still opens the trailer controls.
Nuvio V2: the Play, Trailer and Library buttons turn into dark smoked glass while a background trailer plays behind them, so they stay readable on bright scenes. They go back to frosted glass when the trailer stops or pauses.
Trailers are more reliable everywhere:
- Expanded poster cards on Home find the same trailer as the details page, also for anime and list add-ons, and with IMDb trailers.
- Trailers no longer go black after the app has been open for hours: old links are refreshed by themselves.
- A trailer that fails to play is fetched once more, then the backdrop shows quietly instead of a black area.
- A trailer that failed on a slow connection is tried again later instead of being skipped for the whole session.
- Add-on trailers that are not YouTube videos are skipped and the next one is tried.
- New switch "Logo over card trailer" (Settings > Layout > Focused poster): turn it off and a trailer playing in a card is shown clean, without the title logo and the dark shade over it.
- No second logo over the trailer on cards whose poster already has its own logo, so the logo no longer jumps when the trailer starts.
- Collection folder pages and Classic Home use the same trailer lookup as Modern Home, so more titles find a trailer there and old links are refreshed.
- The first poster focused right after the app starts gets its trailer without moving away and back.
- The trailer pop-up says why a trailer cannot play: age-restricted on YouTube, removed, or sign-in needed, and it gives up sooner in those cases instead of loading for up to a minute.
- Trailers no longer stop early or stall when part of the video fails to load; the app fetches a fresh link instead.
- Trailers play at up to 1080p, H.264 first, so they start more reliably. AV1 and HDR trailers are only used where the box and TV support them.
Shuffle
A shuffle (random episode) button on show pages that carries on across episodes. It also shows on Continue Watching.
Custom posters and landscape cards
Custom posters and landscape cards on every screen are the official app's. The Off / Home only / Everywhere choice and the artwork fixes below are the fork's.
Posters from a URL pattern (for example RPDB), set per screen, and addon landscape posters on Home. Landscape posters is now a choice instead of a switch: Off, Home only or Everywhere (Home, Library, Search and catalogue pages). If you had the switch on you get Home only, as before; Everywhere is one click away in Settings > Layout > Poster card style.
Landscape cards pick better artwork:
- No zoomed-in portrait poster when a custom landscape poster cannot be loaded. The card shows the backdrop with the logo or title instead.
- A wide card that only has a tall poster shows the whole poster in the middle over a darkened copy of itself, instead of a zoomed-in strip. On Home, Library, Search, collection pages and the collection row on the details page.
- Trakt lists, the Trakt library and Simkl "related" no longer use the portrait poster as landscape artwork, and no longer the thin banner strip when a proper wide image exists.
- Modern Home: a landscape card that started with a poster switches to the proper backdrop once it is available.
- Wide collection folders: importing a TMDB collection uses its backdrop as the cover, and covers that are not wide are cropped instead of stretched.
- Custom poster patterns pasted with %7Bshape%7D now get landscape posters too.
Subtitle AutoSync
Subtitles can be synced automatically, with an "Auto synced" chip, and the subtitle delay screen shows a sync line. It also works with the libass subtitle renderer on, and libass keeps its own handling of subtitles inside MKV files.
Built-in torrent engine
A new torrent engine built into the app replaces TorrServer, with its own P2P settings.
Tidier settings and new languages
A grouped side menu, Layout and Playback in collapsible sections, dialog choices in your accent colour, and three new languages: Croatian, Bengali and Hebrew.
Improved
Settings
- Tidier settings: a grouped side menu, Layout and Playback in collapsible sections, and dialog choices in your accent colour.
- In Playback, the thumbnails settings sit at the top of Player interface, and the disk cache switch shows only when custom buffers are on.
Timeline
A marker shows the real playback position on the progress bar whenever the duration is known. A seek shows a separate hollow marker for the target, and the buffer tint is stronger. Seeking no longer inflates the displayed buffer.
The elapsed and remaining time sit right under the seek bar in the control deck, also on wide films, and in the V2 style the title artwork and year line up with the seek bar.
Stats HUD
- Download figures and the serving endpoint describe the selected stream only, not background or subtitle traffic.
- Shows the payload rate over time (also while paused and buffering), counting the film's own data only.
- Live dropped-frame counts where the renderer provides them, and the tunneling state actually applied. On the native Dolby Vision route the row says the frames are not counted there.
- Java heap, native heap and sample-buffer memory are labelled separately. Video bitrate is separate from the whole-file File bitrate. Server latency (the time a new connection to the stream server takes) sits under Network.
- Plain values for Dropped, Speed (Idle when nothing downloads) and Server latency. The DV HDR row fits on one line (CLL, FALL and MDL instead of the longer names).
- Pos. freeze no longer counts the wait on the generating thumbnails screen, or any pause, as a freeze.
- The seek bar and the buttons keep their full width while the HUD is open, and the title, artwork and year stay on screen.
- For transcoded and HLS streams the Source host row sits under Source with the add-on and provider.
- A long file name scrolls three times, then stops.
Subtitles
- Language first. The subtitle panel opens on the language in use. A Languages row lists every language with its number of subtitles, your preferred ones first, and picking one shows only that language's subtitles. No more scrolling past every Spanish subtitle to reach the English ones.
- Subtitles from installed addons are on by default, as in the official app. Before, a file with one embedded track offered only that language until the switch was found in settings. A choice already made in settings is kept.
- The player remembers your subtitle choice for every title. Pick a language and it becomes your preferred subtitle language; turn subtitles off and they stay off until you turn them on again.
- With no language chosen yet, subtitles follow the device language, with "no subtitles when the audio is already in my language" on, so subtitles appear by themselves only for audio in another language.
Old video formats
- AVI, XviD, DivX and VC-1 files play smoothly. Their frame times are repaired before display, so old rips no longer stutter or drop every fifth frame.
- Frame rate matching works for AVI files, including 50 Hz material.
- A VC-1 decoder that refuses to start is tried once more, then the software decoder takes over.
- AV1 stays on the hardware decoder after an audio fallback.
- AVI files with AC-3 or DTS sound no longer stutter. Their sound chunks hold several audio frames, which the player counted as one, so it kept resetting its clock (sound jitter, dropped frames). The chunks are now split into single frames.
- AVI sound stays in sync after a seek (it came out about half a second early), and a seek in an AVI starts the picture on the right key frame instead of up to 12 s earlier.
- Formats the main player cannot decode open in the MPV player by themselves, instead of an error screen. This includes WMV files, which used to end on an error screen, and VC-1 in .ts files, which played sound with no picture.
Network and source tests
- Quick source check and Advanced source comparison are separate. Quick takes one bounded sample and recommends nothing.
- A Cancel button. Repeated clicks or late results cannot replace another run's results.
- Tests refuse to run during playback, and starting playback cancels a running test.
- Hard limits: the general test uses up to four downloads, 20 seconds and 64 MiB; Quick up to 15 seconds and 72 MiB; Advanced up to two minutes.
- Results show their source, network and time, and clear when the network, VPN or DNS changes.
Home, Details and history
- The Home hero title, logo and backdrop stay steady during fast navigation and update when focus settles.
- Details shows the title, episodes and cast earlier, reuses cached artwork and keeps the selected season and episode.
- Home posters keep up with a fast scroll. While Home is idle the rows on screen and the next few rows in the direction you are scrolling are prepared ahead of time, bigger boxes keep more posters ready and read more at once, and a poster that fails to load tries again once before showing "No artwork" instead of staying blank.
- Continue Watching, watched history and their artwork stay with the profile and history source they belong to. Late replies from a previous profile, account or source are ignored.
- Less memory use, which matters most on small boxes: watched history is decoded once and shared, instead of being parsed again by every screen that needs it. A long history no longer costs memory again on Home, Details and in the player.
- Show pages: faster scrolling when holding Down, no jump when coming back, and rows remember their place.
- Next episode: no card for episodes that are not out yet, it waits for post-credits scenes, and Back after the last episode returns to the right season.
- Simkl can be the source for "More like this".
Post-play recommendations
- Details, ratings and the trailer load for the suggestion you are on, and work for suggestions you moved away from is cancelled.
- Stop stays stopped, and the five-second end countdown finishes normally.
Playback
- Stream start: bounded preparation of the selected stream's beginning and end, with stricter checks on what the server returns.
- A stalled download chunk recovers when the reader arrived before its data.
- Passthrough audio that fails to open is retried a limited number of times with the same settings before any fallback.
- A quick second seek no longer waits for the first seek's download: 1 to 2.5 s less spinner.
- 25 and 30 fps video plays at 50 and 60 Hz with frame rate matching, which most TVs show more smoothly than 25 Hz. 24 fps films keep 24 Hz.
- Automatic "try the next source" is safer. After an episode change it can no longer play an earlier episode's file. A dead link at Play now moves on to the next source instead of showing the error screen. A short network drop retries the same link instead of jumping to a different release. The limit of three switches now really applies, and the message names the source being tried. It moves to ready-to-play links and to debrid sources the service reports as cached (added only if cached, so no download starts); never to uncached sources, plain torrents or links that open a browser.
- With ExoPlayer native memory on and custom buffers off, playback now starts with 15 to 45 s of buffer (was 40 to 120 s).
- Audio delay goes up to 60 s either way in 25 ms steps, and changing the subtitle delay no longer brings up the controls.
- Fit / Fill works in tunnelled playback, and there is a True black letterbox switch.
- MPV: a dead link (404 or 410) moves on to the next source instead of ending on an error, and a start that is still loading is no longer cut off after 30 seconds.
Fixed
- Assessment Apply and Revert stay on the profile where they started, reject stale recommendations, and restore a custom rewind-buffer duration.
- Opening settings no longer starts an automatic file-size request.
- Playback speed changes are blocked where they cannot work (native video route, active tunneling) instead of failing.
- Subtitle appearance Reset keeps the UI font and subtitle language, and puts the size back to 100 %, the size a fresh install shows (it was 120 %).
- Styled ASS/SSA subtitles through libass keep working on MKV with seek thumbnails in the build.
- With ExoPlayer native memory on, playback no longer keeps a little more memory with every start.
- The Dolby Vision "map Profile 7 to HEVC" setting now reaches the video renderer.
- In-app update keeps the APK type that is installed: a 32-bit install on a 64-bit box stays 32-bit.
- In-app update on Android 9 and 10 (Fire OS 7 among them): the update was downloaded and then refused with "Update signature is unavailable". Fixed from this build on; see the install notes for this one update.
- Bitstream audio comes back after the TV switches to another input and back. When the TV changed input, the box went to sleep and the player could restart its audio while HDMI was unplugged, so TrueHD and the other surround formats came back as PCM until the film was restarted. The player now waits for the HDMI audio to return before it restarts the audio, and if it still ended up on PCM it switches back to bitstream once the TV is back.
- No freeze when autoplay picks the best source: the ranking of a long source list runs in the background, at Play and at the next-episode pick.
- Device settings stay on the box: the Device Assessment Revert snapshot and learned audio rejections are no longer synced to your other installs.
- Signing out keeps the thumbnail mode, UI scale, interface style and appearance.
- No pale octagon inside focused player buttons (the focus shadow showed through the glass).
- VOD disk cache now really caches when switched on.
- Streams that are only a YouTube id now play, and YouTube trailers no longer hang.
- Debrid season packs pick the right episode file.
- Right-to-left languages show correctly; right-to-left titles scroll in their own direction and the settings arrows point the right way.
- When MPV cannot play a file, the error screen says why.
- The collections editor no longer crashes in Vietnamese, and some Bosnian, Lithuanian and Portuguese (Brazil) texts show their numbers and names again.
- Back after skipping to the next binge-group source returns to the details page, not to that episode's sources.
- Back after the player moved on to the next episode now returns to the details page, also with auto-play set to Manual (with "Prefer binge group" on, the default).
- Less load on boxes whose temperature sensor cannot be read (the Ugoos AM9 among them). Seek thumbnails asked the system for a temperature forecast every few seconds while a film was open, and on these boxes each request made Android log an error and retry until the system was busy and the log ran to gigabytes. Thumbnails no longer ask; they only notice when the box slows its processor down. The SoC temp row in the stats HUD stays and stops asking on boxes that cannot answer.
Setting up and good to know
Everything you need to switch the new features on, and the things worth knowing before you do.
After updating
- Landscape posters: the switch is now a choice. If you had it on, you get Home only (landscape cards on Home, portrait in the Library, Search and lists), which is how it worked in 1.0.0-beta-nt1. Everywhere is one click away under Settings > Layout > Poster card style.
- MDBList: if you used MDBList tracking with an API key, sign in once on each box and profile under Settings > Tracking > MDBList. The API key is now only needed for ratings; your key and ratings settings stay as they are.
- Subtitles from installed addons are now on by default. A choice you already made in settings is kept.
- The experimental MAT switch is gone. The new audio engine replaces it. Your per-format passthrough switches are kept.
- Back after the player moved on to the next episode now returns to the details page.
Native Dolby Vision Profile 7
- What it needs: an Ugoos AM9 Pro on Android 14 running the custom kernel that unlocks FEL (its dual-layer decoder is not active in the stock firmware), and a Dolby Vision display. Without both the box and the kernel it will not work for you. The app does not install a kernel, and the kernel is not part of this release.
- How to turn it on: choose Native DV7 FEL/MEL (Amlogic) in the Dolby Vision Profile 7 setting under Settings > Playback > Video. On anything that does not meet the requirements the mode behaves exactly like Auto, so it is safe to leave on.
- Limits: playback speed other than 1x is not available on the native route. The "Generating thumbnails" screen is skipped on this route; its thumbnails are made while you watch.
Seek thumbnails
- Where: at the top of Settings > Playback > Player interface (Advanced settings mode): Seek thumbnails (Off, Up to 1080p, All resolutions including 4K), Generate thumbnails before play and Clear saved thumbnails.
- What it needs: the ExoPlayer engine and direct files that allow partial downloads (debrid links, Jellyfin, Emby or Plex direct play). Thumbnails are not made for torrent streams, transcoded or HLS/DASH streams, or live TV.
- Next episode in advance needs Search sources before Play on. For this Nuvio fetches the next episode's link about six minutes before the current one ends, which with some debrid or Usenet sources can add that episode to your account even if you stop watching.
- Space: about 6 KB per thumbnail, roughly 1.5 to 3 MB for a two-hour film, capped at 64 MB in total and cleaned up automatically.
- Small boxes such as Fire TV Sticks make 4K remux thumbnails when you seek, pause, before play or after you leave, not while the film plays.
Watch party
To start: Settings > Content and discovery > Watch party, then Start a party and share the six-character code (or let a friend scan the QR code for their phone). To join: the same page, Join with a code. Friends you have added can be invited without a code.
- Everyone needs this app on an Android TV box (Nuvio-test, this fork). The official Nuvio app and phones can't
join a party yet. - Everyone plays their own copy. The party sends which title and which file, not the stream itself, so each
person needs the title in their own add-ons or debrid account. If you are short of sources, the host can switch
on "Share my link", but that only works for plain public links; debrid, media-server, local and torrent links are
never shared. - The same file works best. When one of your sources is the host's file (same torrent, or same name and size)
it opens by itself. A different copy of the same title also works, but if its length differs (another cut, a
different intro) the party tells you by how many seconds and you may drift apart; pick "Same file as the host"
when the list offers it. - Your box and your internet matter. Each box streams its own copy, so a small box or a slow connection buffers
sooner. A Fire TV Stick on Wi-Fi with an 80 GB 4K remux will struggle where a bigger box on cable won't. The party
waits once for someone who buffers, then lets them catch up on their own. For a party with mixed boxes, choose a
file everyone can play smoothly, for example a 4K WEB-DL instead of a full remux. - How close together you stay. Boxes that decode the sound themselves are nudged to within a fraction of a
second. Boxes that send Dolby or DTS bitstream to a receiver are never sped up or slowed down (that would break the
sound): they jump slightly ahead, hold still for a moment and start exactly when the party gets there, which usually
lands within about a fifth of a second. They only jump again if they drift more than about 1.5 s. A pause or a
jump reaches the others after about half a second. - Stepping away. Pressing Home, switching the TV to another input or the box going to sleep makes you "away":
the others carry on, and you press play to line up again. If the host steps away, the next person takes over; if
everyone is away, the first one back carries on as host. A box that is away does not jump to the next episode on
its own; it follows when you come back. - The code is the key. Anyone with the code can join, see what is playing and who is in the party, and (if the host
allows) pause and seek. The six-character code keeps out people who simply come across a party, not someone who sets
out to break it with serious computing power, so share it with friends and family only. To lock people out, end the
party and start a new one. - Signing out clears the party side too. Friends, party names and party avatars of the box's profiles are removed
when you sign out of your Nuvio account, like the fun profile avatars. - Friends live on each box, per profile. There is no account: the friends list is kept on the box and profile
where you added them, so on a second box you add them again. Removing a friend only removes them from your box. Clearing the app's data
also clears its friends. - Only real friends count. Someone in a party cannot pass themselves off as one of your friends: each box proves
its friend key when it joins a room, and an invite opens only if it really comes from that friend. - What the relays see of invites. An invite passes through the same public relays as the party. They can see
that some device left a message for another, but not who sends it, who it is for, or what you are watching. An
invite you do not answer simply runs out after two hours. - Check the date and time on the box. The relays refuse a box whose clock is wrong; the party then says so.
- Not yet supported: the external player option (the party needs Nuvio's own player; both ExoPlayer and MPV
work), titles from Jellyfin or Emby, chat and voice. Playback speed stays at 1x during a party.
Media servers
To add a server:
- Go to Settings > Content & Discovery > Media servers and pick Jellyfin, Emby or Silo under Add server.
- Enter the server address with its port, for example
http://192.168.1.10:8096at home orhttps://jellyfin.example.comover the internet. - Sign in with your user name and password, or on Jellyfin choose Sign in with a code.
- On the server's page, choose which libraries to show. Each library becomes a row on Home, named "Server · Library", and can be moved or hidden like your other Home rows.
- Supported versions: Jellyfin 10.9 or later (including 12), Emby 4.7 or later, and Silo.
- Silo's address: use Silo's Jellyfin-compatible port (8096 unless the server's owner changed it), not the address of Silo's own web page.
- Sign in with a code only works if Quick Connect is switched on in the server (Jellyfin Dashboard > General > Quick Connect). If it is off, Nuvio says so and you can sign in with your password instead. Emby and Silo sign in with a password only for now.
- Remote servers: many shared servers have transcoding turned off. Nuvio then always plays the original file, so a 4K remux over the internet needs a fast connection at both ends.
- Sync is off by default: on a second Nuvio device, add your servers again, or turn on Sync media servers to my Nuvio account on both.
- Big shared servers: after signing in, every library is switched on. On a server with many libraries, turn off the ones you do not use on the server's page; Home gets fewer rows and Nuvio has less to look through.
- Typing the password from the Fire TV phone app can change some symbols on the way to the TV, which then shows "Incorrect username or password". If that happens, type the password with the TV's own keyboard.
- Home videos: turn Use addon metadata off for a library of home videos or anything your add-ons do not know.
- Known limits for now: no trailers for titles opened from a server row unless Use addon metadata is on; next-episode thumbnails in advance are not made for server streams; a server with a self-signed certificate plays with the ExoPlayer engine, not MPV; Emby and Silo sign in with a password only.
Surround sound
- Auto or Manual: under Settings > Playback > Audio, Surround Format set to Auto picks the passthrough formats from what your TV and receiver report. Manual keeps the per-format switches.
- If a format stops being passed through: the app remembers formats your receiver refused. Forget learned audio rejections in the same Surround Sound group shows them and lets them be tried again.
- Lossless sound (TrueHD, DTS-HD MA, DTS:X) needs a receiver or soundbar that takes it over HDMI. A TV's ARC connection (not eARC) cannot carry lossless sound; that is a limit of ARC, not of the app.
Trailers and posters
- Background trailers: Settings > Layout > Details > Trailers: turn on Auto-play trailers, then Play in background, and Pause when scrolling if you like. All off by default.
- Logo over card trailer: Settings > Layout > Focused poster. Turn it off for a clean trailer in the card.
- Trailers play at up to 1080p, so they start quickly and reliably on every box.
Player buttons
Settings > Player buttons: press OK to show or hide a button, hold OK or choose Move to reorder. Restore defaults brings back the theme's layout. The Watch party button is part of the same editor.
Install
Update the existing Nuvio-test installation to keep its data:
app-full-arm64-v8a-release.apkfor 64-bit ARM Android systems.app-full-armeabi-v7a-release.apkfor 32-bit ARM Android systems, including compatible Fire TV models.
Updating from 1.0.0-beta-nt1 inside the app: on Android 11 and newer the update banner installs this release for you. On Android 9 and 10 (including Fire OS 7 devices) the old build downloads the update and then stops with "Update signature is unavailable". That fault is in the old build: download the APK for your device from this page and install it over the top once (your data is kept). From this release on, in-app updates work on those devices too.
Version 1.1.0-beta-nt4, build 1457, package com.nuvio.tv.test. The fork installs alongside official NuvioTV. Original Nuvio remains available in Appearance.
Licence and attribution
GPL v3.0. Upstream copyright headers, licence text and developer attributions are preserved. The two added fonts include their SIL Open Font License notices. The seek-thumbnail decoder uses FFmpeg libraries already shipped in the app (LGPL headers only). The Watch party avatars come from DiceBear and Twemoji under CC BY 4.0, CC0 and the Bottts licence; they are credited under Settings > About > Licenses & attribution.
- Upstream: NuvioMedia/NuvioTV, including compatible changes through 1.1.0-beta.4.
- The surround passthrough engine is ported from pull request 3107 in the official app by halibiram, with ram130. Thank you both.
- Media servers build on pull request 3728 in the official app by tapframe.
- Source for this build: tag
1.1.0-beta-nt4in this repository. - This fork is not affiliated with or endorsed by the NuvioTV project.