# WebViewTvLive: an Android TV live player that wraps station web pages in Tencent X5

> WebViewTvLive is a Kotlin Android app that opens official TV station live pages inside Tencent's X5 WebView instead of playing raw streams. It suits low-cost Android TV boxes and head units, but the README admits slower loading, capped quality and a source tree frozen at version 1.6.

**hxh19950701/WebViewTvLive** — A TV Live Streaming App developed using Tencent X5 WebView

- Repository: https://github.com/hxh19950701/WebViewTvLive
- Website: https://www.v2ex.com/t/1077160
- Stars: 5,211 · Forks: 604
- Language: Kotlin
- License: not declared
- Published: 2026-09-23 · Updated: 2026-09-23 · Language: en
- Canonical page: https://hysenlabs.com/projects/hxh19950701-webviewtvlive

## What WebViewTvLive replaces, and for whom

Most IPTV players expect you to supply a playlist and then decode the stream themselves. WebViewTvLive takes the opposite route: it embeds the station's own live page in a WebView and lets that page do the playback. The README frames this as opening "official web pages with one click, providing a convenient and quick way to watch official TV live broadcasts." The practical consequence is that you are not maintaining stream URLs. If a station changes its CDN, the page changes with it.

The audience is narrow and specific. The README lists optimization for phones, tablets, TVs and car head units, which points at cheap Android boxes, older tablets and in-car screens rather than a desktop HTPC. The device table sets a floor of a quad-core ARM Cortex-A53 at 1.2GHz or better, 2GB of RAM, Android 5.0 and WebView 78. Recommended is an A55 or A76 hybrid, 4GB of RAM, Android 11 and WebView 120. Below that line, the README warns of lag, slow channel switching and crashes after prolonged use.

It is also explicitly not a content service. The disclaimer says the app "does not provide any video resources, nor does it store or forward them," and that it will not crack or bypass restrictions on the source sites. That is the honest framing of what this is: a browser with a remote control.

## How the X5 WebView shell actually works

The repository is a single-module Gradle project: app/ holds the Kotlin source, with build.gradle.kts and settings.gradle.kts at the root and a standard Gradle wrapper. The description names Tencent X5 WebView as the rendering engine rather than the Android System WebView, which matters on devices where the system WebView is old or missing. X5 is the component Tencent ships with its own Android apps, and it is the reason the README can state a WebView 78 minimum instead of tying the app to the system component version.

The feature list describes the surrounding machinery: automatic channel list updates, multiple live streaming sources, customizable settings, channel switching via number keys, and gesture controls for screen brightness and volume. The README also claims compatibility with m3u8 links. So the data flow is roughly: a channel list is fetched and refreshed by the app, a channel selection opens the corresponding station page in the WebView, and the page's own player requests the m3u8 stream. Input handling (number keys, brightness and volume gestures) is app-side, layered over the WebView surface.

The roadmap items are the parts that do not exist yet: automatic source switching or refreshing on playback errors, custom playlist sources, LAN remote configuration, and playback/catch-up. That last one is the biggest gap for anyone used to a conventional IPTV client, where catch-up is a standard expectation rather than a future feature.

## Installing WebViewTvLive from GitHub releases

The README does not document a build-from-source path for end users; it points at the releases page for the app. The final open-source version is 1.6, so a build from the repository gives you 1.6, while the recent releases (3.0.1, 2.1.2, 2.1.1) are distributed as builds. For most readers the install is a sideload.

Download the APK for the release you want from the releases page, transfer it to the device, and install it. On Android TV, the usual route is a file manager or a downloader app, since the Play Store is not mentioned as a distribution channel anywhere in the README.

The README's Get the App section gives exactly one location, and it is the releases page:

```bash
https://github.com/hxh19950701/WebViewTvLive/releases
```

Once installed, the first real use is to open the app, let the channel list populate, and pick a channel. The README says the list updates automatically and that you can switch channels with the number keys. If a channel fails to load, the roadmap confirms there is no automatic source switching yet, so you are expected to pick another source or channel manually. The UserGuide.md file linked from the README is where the project puts the step-by-step detail, including gesture controls for brightness and volume.

## The playback limits the README admits to

The disadvantages section is unusually candid, and it is the part to read before installing. Three constraints stand out. First, quality selection is unavailable and frame rates are limited, "mostly 24FPS." If you are used to 50 or 60 FPS sports feeds, this is a visible downgrade, and it comes from the fact that you are watching whatever the station's web player serves rather than negotiating a stream yourself.

Second, channel loading is "slightly longer" than a native player, because the WebView has to load a page, run its JavaScript and then start the stream. That is an inherent cost of the approach, not a bug to be fixed.

Third, the README notes that "due to copyright restrictions, official sites may not broadcast during certain time slots." This is the failure mode that will confuse new users most: a channel that worked yesterday returns nothing today, and the app will not work around it, because the disclaimer states it will not crack or bypass restrictions imposed by source websites. The same disclaimer says that if original content changes or access is restricted, the application performs no fixes. In other words, a dead channel is often a dead end until the channel list is updated upstream.

The hardware floor is a fourth limit. On a 2GB box below the recommended configuration, the README expects lag, slow switching and crashes after prolonged use, which is exactly the class of device many people buy for this kind of app.

## WebViewTvLive against a playlist-based IPTV player

The closest alternative in practice is a conventional IPTV client that plays an m3u8 or M3U playlist directly, such as the players people discuss alongside this project. The difference is architectural, not cosmetic. A playlist player owns the decoding path: it takes a URL, hands it to ExoPlayer or a similar media stack, and gives you quality tracks, frame rate and often catch-up if the provider supports it. WebViewTvLive owns none of that. It owns a WebView and a channel list, and the station's page owns the player.

That trade produces opposite failure profiles. A playlist player breaks when the URL dies, and you go find a new playlist. WebViewTvLive breaks when the station changes its page, blocks embedding, or goes dark for a time slot, and there is little you can do about it from the app. In exchange, WebViewTvLive needs no subscription, no provider and no playlist maintenance, and the README's claim that it uses "official live streaming links" means the source is the broadcaster itself.

If you already pay for an IPTV provider and want catch-up, multi-track quality and recording, a playlist-based player is the better tool. If you want to point a cheap Android box at official station pages and press a number key, WebViewTvLive is doing something those players do not attempt.

## Maintenance, licensing and the 1.6 source freeze

The repository is not archived, and the last push was on 2026-08-17, with release 3.0.1 published on 2026-07-17. So the distributed app is being built and released. The source, however, is a different story: the README states that "due to the challenging open-source environment in mainland China, this project has paused open sourcing. The final open-source version is 1.6." Anyone who clones the repository is working with 1.6, not with the code behind 3.0.1. That gap is the single most important maintenance fact for a developer evaluating this project.

The repository has no licence file among its top-level entries, and the README does not name a licence. What it does say is that the source is "provided for learning and communication purposes only," that repackaged applications are limited to personal use or moderate sharing with the original app name credited, and that the project must not be used for profit. Those are the author's stated terms. Whether they function as a licence grant is a legal question, and this article does not answer it; if you plan to redistribute or ship a modified build, that is the point to raise with a lawyer rather than assume.

Upgrade cost is low for users (install the new APK) and effectively undefined for developers, since the upstream source does not advance past 1.6. If you need to change behaviour, you are patching a version that is several releases behind what users run.

## Conclusion

Adopt WebViewTvLive if you want a sideloaded Android player that shows official station pages on a phone, tablet or TV box and you accept 24 FPS and no quality selector. Skip it if you need catch-up, custom playlists or a codebase you can fork, because the README states open sourcing paused at version 1.6 and later releases ship as builds only. Before installing, check the Android version and WebView version on the device, since the README sets Android 5.0 and WebView 78 as the floor and recommends Android 11 with WebView 120.

## FAQ

### What is WebViewTvLive used for?

It is an Android app that opens official TV station live pages inside a WebView so you can watch live broadcasts without supplying a playlist. The README describes it as opening official web pages with one click.

### What apps use WebView, and is WebView needed for WebViewTvLive?

WebViewTvLive itself is built on Tencent X5 WebView, which is the component that renders the station pages and plays the streams. The README sets WebView 78 as the minimum and recommends WebView 120 or above.

### What does Android system WebView do on my phone, and does it affect WebViewTvLive?

The project uses Tencent X5 WebView rather than the Android system WebView, so the system component version is not the one the README specifies. It lists WebView 78 as the floor and WebView 120 as recommended.

### Is WebView needed to run WebViewTvLive?

Yes. The app is built on WebView, and the README lists it as a device requirement alongside CPU, RAM and Android version. It also warns that devices below the recommended configuration may lag or crash after prolonged use.

## Sources

- [hxh19950701/WebViewTvLive on GitHub](https://github.com/hxh19950701/WebViewTvLive)
- [Issues](https://github.com/hxh19950701/WebViewTvLive/issues)
- [Project website](https://www.v2ex.com/t/1077160)
- [README](https://github.com/hxh19950701/WebViewTvLive/blob/main/README.md)
- [Releases](https://github.com/hxh19950701/WebViewTvLive/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/hxh19950701-webviewtvlive
