github ysosrs123/NuvioTV-Fork 0.8.4-beta-nt1
Nuvio-test 0.8.4-beta-nt1

one month ago

Brings the fork up to date with official NuvioTV 0.8.4-beta and rolls up the 0.8.3-series work in one go. The headline is MDBList as a full library source — browse your watchlist as your library, add/remove titles from anywhere, and copy or move your whole library between any two sources with a preview first. Alongside it: playback that starts much faster, a Dolby Vision "Strip DV" fix that puts compatible TVs into proper HDR instead of a washed-out purple picture, a big round of on-device performance work (instant details pages, much faster posters), and upstream 0.8.4's Home/details loading overhaul plus a run of fixes.

Fork timings were measured on a Xiaomi TV Box S 3rd Gen (4K remuxes) and an Ugoos AM9 Pro (Dolby Vision and the performance work); absolute times vary with hardware and network, so treat them as indicative.


At a glance

  • Brought up to date with official NuvioTV 0.8.4-beta. Credit to [@skoruppa](https://github.com/skoruppa), [@tapframe](https://github.com/tapframe), [@supergera13](https://github.com/supergera13), [@haveAnIssue](https://github.com/haveAnIssue) and [@halibiram](https://github.com/halibiram).
  • MDBList is now a full library source — your Library becomes your MDBList watchlist, with one-tap add/remove from any screen.
  • Copy or move your whole library between sources — Local, Trakt, Simkl and MDBList, any direction, with a dry-run preview before anything is written.
  • Playback starts much faster — direct-link sources (StremThru, TorBox) are warmed while you browse, bringing a warm start from ~8 s down to roughly 1.5–3 s.
  • Details pages open instantly and posters load much faster — see Performance and polish below.
  • Strip DV shows correct HDR10 colour — no more washed-out purple cast on TVs that switch HDR by tag.
  • See how your add-ons are performing — a passive health indicator in the Add-on Manager flags each add-on and debrid provider as OK, Slow or Down, built from real usage.
  • The Home synopsis scales with your interface size, plus your own Fusion badges on the details source line, a Dolby Vision HDR mastering readout, the stats-HUD Server row now showing the real serving host, and fixes across the source line, player, sidebar and catalogue loading.

New

MDBList is now a library source

MDBList was previously for watch tracking only; it's now a library source in its own right, alongside Nuvio Library, Trakt and Simkl. Turn it on at Settings → Tracking → Library source (it appears once connected). Your Library then shows your MDBList watchlist — adding writes to it, removing takes it off. Titles match on canonical ids (IMDb first, then TMDB) so they line up across sources, adds won't duplicate, and removals are confirmed by re-reading the watchlist. MDBList items return no artwork, so their posters are filled in from TMDB and cached — time-boxed, so the library still opens straight away if TMDB is slow.

Move or copy your whole library between sources

A new Transfer library entry under Settings → Tracking. Pick a source and destination — Local, Trakt, Simkl or MDBList, any direction — and get a dry-run preview (how many would copy, already exist, or can't be matched) before anything is written. Then Copy (non-destructive) or Move (copy, then remove from source). It acts on the whole source library, so the preview count is exactly what will move. Move is thorough but safe: a Simkl item whose removal would wipe watched history or a rating is kept and reported rather than destroyed, both libraries refresh at the end, and a Move of your local library is pushed to the cloud so it can't be quietly undone. Writes are batched/throttled so large transfers degrade gracefully.

One-tap add/remove from any screen

Long-press any title for a direct Add to library / Remove from library action — no need to open its details page first. Works on Home, Library, Discover, Search, See-all and the detail screens. Manage lists is still there as a secondary option for picking specific lists.

Passive add-on health status

The Add-on Manager now shows how each of your add-ons and debrid providers is actually performing, at a glance — OK (green), Slow (amber) or Down (red). It's passive: nothing is polled or pinged, so it adds no traffic — the status is built entirely from the requests the app already makes as you browse and play, which means it reflects real-world behaviour rather than a one-off test.

  • What it watches: your catalogue and metadata add-ons, your debrid resolvers (per provider), and the overall metadata pipeline.
  • How it decides: a source reads Slow when its responses run long (over ~8 seconds, or ~4 for metadata) or come back mostly empty, and Down after it fails repeatedly — at which point it's briefly rested (a ~5-minute cooldown) before being tried again, recovering to OK once it responds normally.
  • On by default, with a master toggle under Advanced settings to turn the tracking off entirely.

Your own badges on the details source line

If you have Fusion badge URLs configured (Layout settings), the details-page source line now shows your badges for the auto-play winner, matching the manual stream list — falling back to the built-in set when none match. No extra network calls.

Dolby Vision HDR mastering readout

Playing Dolby Vision content now surfaces the master's static HDR metadata — MaxCLL, MaxFALL and mastering-display peak — read from the RPU, shown as a DV HDR Mastering row on the Diagnostics card and a matching DV HDR line in the stats HUD (Video section), e.g. MaxCLL 617 · MaxFALL 496 · MDL peak ~1001 nits. Works across MKV and MP4/TS, convert and strip paths, and always reports the source master's values. Diagnostics only — it changes nothing about playback.

The stats HUD shows the real serving host

The Server row in the player's stats HUD (Source section) now reports the host that's actually serving the video, not just the address you started from. For sources that redirect — TorBox and similar — that's the CDN or edge node ExoPlayer lands on after the redirect resolves, rather than the redirector; it falls back to the URL host during connection and for direct sources (Emby/NAS, or anything with no redirect), which show their host as before. The same resolved host also feeds the Provider label's fallback. Diagnostics only — it reads what the connection reports and changes nothing about playback.

Inject HDR10 metadata when stripping Dolby Vision (experimental, off by default)

A new Inject HDR10 Metadata on Strip option (Playback settings). When stripping Dolby Vision to HDR10, it can carry the source's mastering metadata into the output so a non-DV HDR10 display can tone-map against the title's actual master — most useful on projectors and lower-peak displays. Profile 8.1 only, only fills in metadata the base layer lacks, and is enabled only when DV Handling is Strip DV or HDR10 Base Layer. No effect on Profile 7 or normal DV playback.


Improved

Playback starts faster

While you're on a title's details page, the app now warms up the exact stream it will play — fetching the file header and seek index the player reads first — so pressing Play skips the two cold network connections it used to open. Crucially this now covers direct-link sources (StremThru, TorBox, anything handing back a direct link), which previously skipped warm-up entirely, and it starts sooner — as soon as the play target is known. In practice this brings time-to-first-frame from around 8 seconds to roughly 1.5–3 seconds on a warm start, resumes included.

It applies once you've been on a title's details page for a moment before pressing Play — automatic, no setting, and it reuses your existing Stream Selection Timeout as its cut-off. An instant "open and press" starts at the usual speed, never slower.

Performance and polish

A round of on-device work (measured on the AM9 Pro) targeting how fast the home and details pages fill in:

  • Details pages open immediately — the page paints from already-prefetched data instead of waiting ~1 s on TMDB; backdrop, logo, cast and ratings fill in a beat later. Based on upstream's work by @skoruppa
  • Home posters load much faster — oversized TMDB artwork is now requested at display size (a 600–1200 ms decode drops to under 200 ms); full-screen backdrops are untouched, and it tracks your interface-scale setting.
  • Posters stop reloading as you scroll — poster sources that send no caching rule are now cached locally for up to a week (so a rating label can be up to a week stale — a fair trade for a smooth scroll).
  • Home rows fill in sooner — more catalogue rows load in parallel, cutting the cold-start load from around 25 seconds to a few.
  • The hero backdrop stays put when you open a title — no more brief swap to a slightly different image.
  • The details page no longer jumps — the layout above the synopsis holds steady as the director, ratings and source details arrive.

Home and details loading (upstream 0.8.4)

Official 0.8.4's rework of Modern Home and details loading, merged in without disturbing the fork's own start-up work: Home renders from its own presentation state (less flicker), a title's TMDB and add-on metadata are fetched in parallel and prefetched on focus, artwork warms on focus in Search/Library, series season/trailer fetches use bounded concurrency, and catalogue rows load lazily with size-bounded caches. Upstream's optimisations weren't separately benchmarked here, so expect a smoother, quicker-settling home rather than a specific figure.

The Home synopsis scales with your interface size

The featured title's Home description now adapts to your Interface scale — roughly four lines at 85%, three at 100%, two at 115%. The detail page is unchanged.


Changed

  • The HDR mastering readout shows "-" for unknown values. When Dolby Vision metadata reports a content-light level of 0 (common in WEB-DLs, meaning "unknown"), the row shows MaxCLL - · MaxFALL - instead of a misleading 0. The mastering-display peak still shows.

Fixed

Strip DV now displays correctly as HDR10 (was a purple/washed picture on some devices)

With DV handling set to Strip DV or HDR10 Base Layer, the stripped stream is genuine HDR10 but wasn't being tagged as such for the Android display framework. On TVs that switch HDR by that tag, the display stayed in SDR and rendered a heavy purple/violet cast that could persist onto the home screen. The stripped output is now tagged HDR10 (BT.2020 / PQ), so the display switches into HDR and shows correct colours. Applies to MKV and MP4/TS.

Profile 7 note: a Profile 7 base layer isn't a complete image without its enhancement data, so Strip DV can't show Profile 7 correctly on any display — inherent to the format, not a bug. Use Convert to DV8.1 for those; Strip DV is right for Profile 8.1 (most DV WEB-DLs).

Other fixes

  • The details source line no longer hangs in Manual mode. It only ever previews an auto-play winner, so in Manual (and Regex-with-no-pattern, or an empty pool) it now hides itself instead of spinning on "Finding best source" forever.
  • The details source line shows every format badge. Streams whose release name lived only in a filename hint used to show just the release group; the parser now reads that field, so they get their full badge set — which also sharpens auto-play ranking and manual filtering. Mainly affected public debrid/direct sources.
  • The details Play button shows the right resume point with a remote progress source (Simkl/Trakt/MDBList). The page now waits briefly (bounded) for remote progress to settle before fixing the Play target, and a late empty read can't overwrite a resume point. Local/Nuvio Sync was already correct. (Upstream 0.8.4.)
  • Catalogues with malformed entries no longer break their rows — empty or id-less entries are skipped, and "load more" advances by what the add-on actually returned. (Upstream 0.8.4.)
  • Subtitle "Sync to line" no longer double-triggers its dialog. (Upstream NuvioMedia#2461, by [@supergera13](https://github.com/supergera13).)
  • Upstream player/library fixes (0.8.4): mpv subtitle background-box mode and an engine-swap subtitle loop fixed (libmpv engine); RTL subtitles handle date-like text (by [@haveAnIssue](https://github.com/haveAnIssue)); Simkl no longer misreports a show's type as TV; binge-group matching corrected.
  • Player and sidebar tidy-ups (presentation only — nothing touches playback, passthrough, FRM or DV): the player button row slides clear of the stats overlay instead of hiding behind it; single-profile users now see their profile at the top of the sidebar; and the season/episode line gets a little breathing room under the title logo.

Notes and limitations

  • Custom MDBList lists aren't surfaced yet — watchlist only.
  • Library transfer moves the whole source library (no per-title selection), matches on IMDb/TMDB id (a Trakt/Simkl-only id is skipped), and is a one-shot copy/move (no continuous sync). Simkl items with watched history or a rating are kept on a Move.
  • The fast start needs a moment on the details page to warm up; a quick "open and press" starts at the old speed, never slower.
  • Strip DV can't correctly display Profile 7 remuxes — inherent to the format; use Convert to DV8.1.
  • The upstream Home/details loading speed-up is qualitative here — not separately benchmarked on this fork.

Install

Sideload via ADB or a file manager. This is a personal test build with the application ID com.nuvio.tv.test, so it installs alongside official NuvioTV rather than replacing it.


Licence and attribution

GPL v3.0. All upstream copyright headers, licence text and developer attributions are preserved; no licence text was removed.

  • Upstream is [NuvioMedia/NuvioTV](https://github.com/NuvioMedia/NuvioTV), whose player, tracking and settings plumbing this work extends. This fork is not affiliated with or endorsed by the NuvioTV project — please do not report issues from this build to upstream.
  • Official NuvioTV 0.8.4-beta is merged in this build: the Modern Home & details loading optimisation, malformed-catalogue handling, the details Play-button remote-progress fix, per-device Coil memory sizing, the Simkl type fix, binge-group matching, the mpv subtitle fixes, right-to-left date support and the TMDB bounded-concurrency work, plus the Sync-line key-up fix. Authors: [@skoruppa](https://github.com/skoruppa), [@tapframe](https://github.com/tapframe), [@supergera13](https://github.com/supergera13) (Sync-line NuvioMedia#2461), [@haveAnIssue](https://github.com/haveAnIssue) (RTL dates) and [@halibiram](https://github.com/halibiram) (TMDB bounded concurrency). Two upstream 0.8.4 changes are intentionally not part of this build: an intro-skip priority reorder, which doesn't apply to this fork's IntroDB-only skip, and the session half of the detail play-state cache, held for a later build.
  • The MDBList library source builds on the fork's existing MDBList tracking integration (halibiram lineage), whose read/write and id-mapping layer it extends.
  • Poster artwork for MDBList library items is fetched from TMDB by id. Bundled Elite-Badges are retained as the built-in source-line fallback.
  • Dolby Vision RPU parsing uses libdovi (MIT), by quietvoid — https://github.com/quietvoid/dovi_tool. No libdovi source is reproduced in this tree; upstream copyright and licence headers are preserved.
  • The mpv player engine uses libmpv-android (jarnedemeulemeester/libmpv-android); its licence and attribution are preserved in the in-app Licences & Attributions screen.

Don't miss a new NuvioTV-Fork release

NewReleases is sending notifications on new releases.