HTV is an Android live TV player that ships with its own channel list
A live media player app(电视直播软件)
At a glance
- What is it?
- HTV is a Flutter application for Android phones, TVs and TV boxes that plays live television with a built-in list of CCTV, satellite and local channels whose sources are refreshed daily by the project server. It switches to the next working source when a stream fails, adds an EPG, and needs no account, with an Apache-2.0 licence and releases up to v6.0.4.
- Who is it for?
- Android users in regions where the bundled channels matter should try HTV, because the daily source refresh, the per-source health checking and the automatic failover remove the part of IPTV that is normally a chore, and the same APK covers phones, TVs and boxes.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 11 days ago.
- What is it written in?
- Mainly Dart, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A live TV player with the channel list already inside
HTV is a live media player app for Android phones, TVs and TV boxes, written in Flutter with Dart as the primary language. The repository is a normal Flutter project: an android directory, a lib directory, a web directory, a test directory, assets, pubspec.yaml and pubspec.lock, plus a docs directory and a set of images including a screenshot and two community group codes.
The product decision is the channel list. The app comes with built-in CCTV, satellite, local and Phoenix channels, and the live sources behind them are updated every day. The README describes it as free to use with no account, one install package for both phones and TV boxes, and sources that are maintained continuously.
The English section of the README lists the feature set: favourite channels, catch-up TV where the source supports it, an EPG programme guide, full remote-control navigation, and IPv4 and IPv6 support. The install requirement is Android 4.4 or later, which is an unusually low floor and says something about the range of TV boxes and older phones the project targets.
The audience is plainly a Chinese-speaking user with a TV, a TV box or a phone who wants live channels without assembling a playlist. The homepage is htwmedia.dpdns.org, the licence is Apache-2.0, and the recent releases are v6.0.1 on 2026-09-20, v6.0.2 on 2026-09-26 and v6.0.4 on 2026-10-12, with the last push on 2026-10-12.
The difference it claims over a TVBox style shell
The README draws a comparison with TVBox style tools, and it is the clearest statement of what the project is trying to be.
TVBox style tools are described as player shells: after installing one you still have to find subscription sources yourself and maintain the addresses, and when a source dies you go and find another. HTV is described as ready to use out of the box, with the built-in CCTV, satellite and local channels, with sources collected automatically every day by the server, checked one by one for connectivity, and delivered ordered by health, so you do not have to find anything yourself.
That description matches the rest of the documentation. The app tries the next available source by itself when playback goes wrong, and the feature table lists automatic source switching as the case where playback is abnormal or no picture appears for a long time, with no manual intervention needed. A multi-source channel can also be switched by hand from the information panel, where the source count is shown.
There is also a diagnostic angle. Under settings there is a catch-up diagnostics entry, and the community table explains that reported dead channels go into an automatic health-check queue, and that the next update removes dead sources and adds new ones.
So the operational model is a server-side pipeline of collection, checking and ranking, with the app as the client. The health checking is the part that distinguishes this from a plain player, and the feedback format the project asks for is designed to feed it.
The feedback format is the machine interface of the project
The README asks for broken channel reports in a specific format, and explains why the format matters.
频道名:CCTV-5
现象:黑屏 / 一直转圈 / 卡住不动 / 提示播放失败
所在地区 + 网络:山东 · 联通宽带
App 版本:v6.0.0The format is the channel name, the symptom, the region and network, and the app version. The reason for the format is stated in the community section: a report written this way goes straight into the automatic health-check queue, which is much faster than a message saying that some channel will not play.
That is a small design detail with a large implication for how the project operates. The app is the sensor, the user community is the crowd-sourced detector, and the server-side pipeline is the mechanism that turns a report into a removal from the list. It is why the README distinguishes between a single channel failing, where you should try switching source in the information panel first, and a whole channel being dead, which is treated as a source failure worth reporting.
There are three places to report. GitHub Discussions, which the README describes as searchable and indexed by search engines, is where history and previous answers live. Two QQ groups are listed, one for HTV and video creation discussion with the number 2166024531 and one for HTV application discussion with the number 1067526818, and the app itself has a settings entry called community and feedback where the same codes can be scanned. The Watch mechanism on the repository, set to Custom and then Releases, is the option for people who do not use QQ.
One APK, two input models
The interaction design is the clearest part of the documentation, because the README lists the key bindings for the remote control and the touch gestures separately.
On a TV or box, the up and down arrow keys or the number keys change channel, and swiping up or down on screen does the same. The OK key or a single tap selects. A long press on the OK key in the channel list adds or removes a favourite, and favourites are collected in a favourites row at the top of the list. The menu key, the help key, a long press on OK or a long press on the screen opens settings. At the bottom of the panel you switch between a horizontal grouped layout and a vertical list, and a multi-source channel can be switched from the information panel.
On a phone, swiping up and down changes channel, a single tap selects, and a long press opens settings.
The layout switch is a small thing with a large effect on a television interface, where a vertical list of hundreds of channels and a grouped grid serve different viewing habits. The same binary is used for both, which is unusual for a player that ships as one APK.
The catch-up feature sits in the same navigation: settings, then catch-up diagnostics, where you can look back at recently broadcast programmes, and the feature table notes that the replay support depends on the live source providing it, so the diagnostics entry is where you confirm whether the current source offers it.
Installing from the releases page, including on a box
The install path is deliberately simple, and the README covers the television case separately from the phone case.
The steps are: go to the Releases page on GitHub or the official homepage and download the latest APK; on a phone, tap the file to install, and on a TV or box you can install from a USB stick, a file manager or ADB; if the first install warns about unknown sources, allow it once; and then open the app, which needs no further configuration.
The advice that follows is to add the app to the box's startup list or to a desktop shortcut, which is the kind of detail that matters on an Android TV device where launching from an app drawer is awkward.
The EPG has its own caveat, given in the FAQ. Programme information is loaded asynchronously, so a delay is normal and does not affect watching. The FAQ also states the behaviour when a channel will not start: the app tries the next available source automatically after a start-up timeout, and if the whole channel list fails to load the interface shows a status message that you can retry with the OK key.
The custom source question has an unusual answer. Custom sources are supported, and the README says that if you need one you can contact the author directly. In other words, bringing your own playlist is a service conversation rather than a setting, which is the sharpest difference between this app and the shell-style players it contrasts itself with.
Where HTV is the wrong tool
The limits follow from a design that optimises for one specific situation.
First, it is Android only, despite the phone and TV framing. The build output is an APK, the requirement is Android 4.4 or later, and the repository is a Flutter project with an android directory and a web directory but no mention of an iOS build.
Second, the channel list is not yours. The sources are collected and ranked by the project's server, updated daily, and you are not expected to supply them. That is the feature, and it is also the dependency: the lineup you receive is the lineup someone else assembled, and when a source dies the fix is a server-side update that you wait for. For anyone who already has a working m3u playlist or a legal subscription, this app is a worse fit than a generic player.
Third, catch-up and EPG quality are inherited from the source. The README is explicit that replay depends on whether the source itself provides the capability, and the EPG is asynchronous, so a missing or late guide is a source property rather than a bug you can file.
Fourth, the app leans on community channels such as Discussions and QQ groups rather than a support desk. That is fine for a free app with no accounts and no ads, and it also means there is no service level, no compatibility guarantee for your device, and no contractual promise about channel availability. The README notes the project is free, ad-free and has no paywall, and that donations carry no consideration and open nothing, which is an honest description of the relationship.
For anything where channel licensing, reliability or support matters, an app in this category is the wrong starting point.
Editorial conclusion
Android users in regions where the bundled channels matter should try HTV, because the daily source refresh, the per-source health checking and the automatic failover remove the part of IPTV that is normally a chore, and the same APK covers phones, TVs and boxes. It is the wrong tool for anything outside Android, for a user who wants to bring their own playlist, since custom sources are handled by contacting the author rather than by adding a URL, and for anyone who needs a legally licensed channel lineup rather than an aggregated one. Before installing, check that the app on your device is the current release, expect the source list to change daily, and use the Discussions board with the channel name, symptom, region and app version when reporting a dead channel.
Frequently asked questions
Does HTV need an account or a subscription playlist?
No. The README describes HTV as free, requiring no account, and working out of the box, with CCTV, satellite and local channels built in and their sources updated daily by the project server. Custom sources are supported but are arranged by contacting the author.
What happens when a live stream stops working?
The app tries the next available source automatically after a start-up timeout, and a channel with several sources can also be switched by hand from the information panel. If the entire channel list fails to load, the interface shows a status message that you can retry with the OK key.
How do I report a channel that will not play?
The README asks for the channel name, the symptom, the region and network, and the app version, and says a report in that format goes straight into the automatic health-check queue so the dead source is removed in the next update. Reports go to GitHub Discussions or the QQ groups.
Which devices and Android versions does HTV support?
The app targets Android phones, TVs and TV boxes, with one APK for both phone and box, and the platform requirement is Android 4.4 or later. The interface is adapted separately for remote control and touch, and it supports IPv4 and IPv6 networks.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/htwmedia-htv)Was this useful?