A modern TV web app for Samsung Tizen and LG webOS powered by the Stremio addon ecosystem.
Shared web app • Tizen • webOS • Desktop installer • Playback-focused experience
NuvioTV Web is the web codebase for the Nuvio TV experience on Smart TVs.
It powers TV builds for Samsung Tizen and LG webOS, while also running as a normal browser-based web app during development.
NuvioTV Web acts as a client-side playback interface that can integrate with the Stremio addon ecosystem for content discovery and source resolution through user-installed extensions.
The project is optimized for a TV-first experience, with remote-control navigation, platform-specific playback handling, and packaged builds for supported TV ecosystems.
Download the latest Windows or macOS Nuvio WebTV Installer build from GitHub Releases.
The installer can connect to supported Samsung Tizen and LG webOS TVs and install the latest .wgt and .ipk packages automatically.
Current public macOS installer builds may be unsigned. If macOS blocks the app or reports that it is damaged, move the app to Applications and run:
xattr -dr com.apple.quarantine "/Applications/Nuvio WebTV Installer.app"
codesign --force --deep --sign - "/Applications/Nuvio WebTV Installer.app"
open "/Applications/Nuvio WebTV Installer.app"This workaround should only be temporary. Once signed macOS builds are available, this manual step will no longer be needed.
- Open TizenBrew on your Samsung TV.
- Add the GitHub module
NuvioMedia/NuvioTVTizen. - Launch Nuvio TV from your installed modules.
Download the latest .wgt package from GitHub Releases and install it with your preferred Samsung/Tizen development workflow.
- Open
Homebrew Channelon your LG webOS TV. - Go to
Settings. - Choose
Add repository. - Enter:
https://raw.githubusercontent.com/NuvioMedia/NuvioTVWebOS/main/webosbrew/apps.json
- Return to the apps list and install Nuvio TV.
Download the latest .ipk package from GitHub Releases.
Enable Developer Mode and Key Server by following the webOS Homebrew guide:
https://www.webosbrew.org/devmode
Then install the package with webOS Dev Manager or your preferred webOS development workflow.
- TizenBrew wrapper:
NuvioMedia/NuvioTVTizen - webOS metadata repository:
NuvioMedia/NuvioTVWebOS - Desktop installer:
NuvioMedia/NuvioWebTVInstaller
- Node.js
- npm
- Python 3, for local static hosting
- Tizen Studio, only if building or installing Tizen packages manually
- webOS CLI tools, only if building or installing webOS packages manually
git clone https://github.com/NuvioMedia/NuvioWeb.git
cd NuvioWeb
npm installnpm run build
python3 -m http.server 8080 -d distOpen:
http://127.0.0.1:8080
js/contains app logic, UI screens, platform adapters, and player code.css/contains shared styling and TV layout rules.assets/contains icons, branding, and bundled assets.docs/contains static runtime helper pages used by the app.scripts/contains build, packaging, sync, and metadata tooling.dist/contains generated build output.
Build a local .ipk package directly from this repository:
npm run package:webosInstall on a configured LG webOS TV:
npm run install:webos -- -d lgUseful webOS commands:
npm run inspect:webos -- -d lg
npm run logs:webos -- -d lgBuild a local .wgt package directly from this repository:
npm run package:tizenThe package is generated in the repository root using the current app version.
Default identifiers:
- Tizen package id:
NuvioTV - Tizen application id:
NuvioTV.NuvioTV
You can override them when needed:
TIZEN_PACKAGE_ID=NuvioTV TIZEN_APP_ID=NuvioTV.NuvioTV npm run package:tizenTo package with a specific properties file:
npm run package:tizen -- --env-source /absolute/path/to/local.propertiesThe shared app can also be synced into external Tizen or webOS wrapper projects.
Create a webOS project folder with at least:
YourWebOSProject/
appinfo.json
index.html
main.js
Then run:
npm run build
npm run sync:webos -- /absolute/path/to/YourWebOSProjectCreate a Tizen project folder with at least:
YourTizenProject/
config.xml
index.html
main.js
Then run:
npm run build
npm run sync:tizen -- /absolute/path/to/YourTizenProjectCompatibility form:
npm run sync -- --webos --path /absolute/path/to/project
npm run sync -- --tizen --path /absolute/path/to/projectNuvioTV Web can run in different deployment modes:
- Hosted as a normal web app.
- Packaged as a Samsung Tizen
.wgt. - Packaged as an LG webOS
.ipk. - Installed through the Nuvio WebTV Installer.
- Used through platform wrapper repositories such as TizenBrew and webOS Homebrew.
The shared web app remains the source of truth for the TV experience across these targets.
This project is part of the Nuvio TV ecosystem and builds on important community work:
-
tapframe/NuvioTV
The original Android TV project that shaped the TV-first product direction.
https://github.com/tapframe/NuvioTV -
WhiteGiso/NuvioTV-WebOS
The community webOS codebase that served as an early inspiration and base for this shared web version.
https://github.com/WhiteGiso/NuvioTV-WebOS
NuvioTV Web expands that foundation into a shared smart TV web app for Samsung Tizen and LG webOS.
NuvioTV Web functions solely as a client-side interface for browsing metadata and playing media provided by user-installed extensions and/or user-provided sources. It is intended for content the user owns or is otherwise authorized to access.
NuvioTV Web 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 our full disclaimer, third-party extension policy, and DMCA/Copyright information, please visit our Legal & Disclaimer Page.
- JavaScript
- HTML
- CSS
- Samsung Tizen Web APIs
- LG webOS APIs
- Node.js build tooling
- Stremio addon ecosystem