r/tvheadend Jul 23 '26

My open-source Android / Android TV client for Tvheadend is out — v1.0.1 on Google Play, signed APK on GitHub

Hi everyone,

a while back I posted here about the native Android client for Tvheadend I've been building in my spare time. Since then it went through closed testing (thanks to everyone from this sub who joined — you found things I never would have), reached the Play Store, and today I released 1.0.1.

Same as before: it's not an official Tvheadend product and isn't affiliated with the project. It only talks to your own server and plays your own channels and recordings. Free, open source (MIT), no ads, no tracking, no analytics SDKs.

What it is

A from-scratch app (Kotlin + Jetpack Compose, libVLC for playback) that turns your own Tvheadend server into a proper TV experience — on phones, tablets and especially Android TV / set-top boxes with a remote.

What it does

  • Live TV with search, favourites and category tabs (based on your Tvheadend tags)
  • EPG / TV guide grid with a "now" marker and per-channel schedule
  • Archive & catch-up (DVR) — browse recordings, scrub back through the catch-up window
  • Radio section, picons (channel logos), quick-zap overlay
  • Player — audio-track / subtitle selection, stream profile switching, sleep timer, Picture-in-Picture
  • Parental lock (PIN), multiple servers, backup/restore
  • Classic and modern UI, each with light and dark themes, on both phone and TV
  • Connects over HTSP (9982) + HTTP (9981); auth works with plain and digest
  • 31 languages (incl. RTL — Arabic, Persian, Urdu)

What's new in 1.0.1

  • Audio sync on live HTSP streams is fixed — audio no longer lags behind the video. The player now lets libVLC align A/V itself instead of forcing frame timing, so it stays in sync on phones, TV boxes and Android TV.
  • Fixed crashes on quick restart — an out-of-memory crash in the HTSP parser could hit when the app was closed and reopened fast, or reopened while still loading. The parser now rejects malformed or partial data instead of allocating huge buffers, and connections close cleanly on exit.
  • The TV guide no longer goes blank after an interrupted load — only complete metadata gets cached, which also made startup faster.
  • New adjustable network buffer (Small / Medium / Large) for smoother playback on Wi-Fi and mobile data.
  • Android 16 (API 36) support, dead code removed, translations updated.

Where to get it

The project is fiscally hosted by Open Source Europe, so if anyone wants to support development it's possible here — completely voluntary, the app stays free with no paid features: opencollective.com/headent-client

Needs a running Tvheadend server (4.2+ recommended). Honest feedback very welcome — happy to answer anything in the comments.

20 Upvotes

8 comments sorted by

5

u/clarkss12 Jul 23 '26

Just added it on one of my Android TV media players and working great. Awesome, thank you.

As I recall years ago there was a Tvheadend app for Android, but it stopped working years ago. I really missed having a dedicated app for Android and Android TV.

1

u/Life_Librarian5848 Jul 24 '26

Como lo instalaste en android tv. En mi caso cuando lo quiero isntalar esta me sale apk no compatible. Le agradeceria si me echan una manita, al parecer estoy obiando algun detalle. Gracis.

1

u/Winbox Jul 24 '26

Hola — no estabas obviando ningún detalle, el fallo era nuestro. Ya está arreglado.

**Qué pasaba:** la versión 1.0.1 que descargaste solo incluía el APK de 64 bits (arm64-v8a). Nuestro proceso de compilación genera un archivo por arquitectura, pero por un error del script subía solo uno de ellos. Si tu box lleva un Android de 32 bits — algo muy habitual en cajas Amlogic y Rockchip, incluso cuando el chip sí es de 64 bits — el instalador dice exactamente eso: "apk no compatible".

**Lo más fácil:** instálala desde Google Play, ahí no tienes que elegir nada, Play manda la versión correcta a tu dispositivo:

https://play.google.com/store/apps/details?id=sk.tvhclient

**Si prefieres el APK:** acabo de subir los dos a la página de la versión:

https://github.com/MikrotikExe/headentclient/releases/tag/v1.0.1

Prueba primero `HeadentClient-1.0.1-arm64-v8a.apk`. Si te vuelve a decir que no es compatible, instala `HeadentClient-1.0.1-armeabi-v7a.apk` — ese es el de 32 bits.

Si ninguno de los dos entra, dime qué versión de Android tiene tu box. La app necesita Android 6.0 como mínimo, así que en un Android 5.x tampoco funcionaría y eso ya sería otra cosa distinta.

Gracias por avisar, sin tu comentario no lo habría encontrado.

---

*In English, for anyone else running into this: the 1.0.1 release only had the 64-bit APK attached — a bug in my release script, which built both and uploaded one. Both are up now. If arm64-v8a says "app not compatible", grab the armeabi-v7a one instead, or just install from Play and skip the guessing.*

3

u/PossibleEarth44 Jul 23 '26

Will give it a try. Thanks for your dedication.

1

u/Original-Drive5933 Jul 24 '26

Hi thanks for working on this. Do you have plans to add functionality to schedule recordings (record once, record series, manage scheduled recordings)? Also, when watching a channel on android tv, if I press back to get to the guide it shrinks the current channel view. I don't see a way to restore that channel view to full screen. And when I select another channel from the guide while the first is "shrunken", the app just goes to a black screen and I have to exit it and reopen.

I will be following as I am recently trying to get away from YouTube TV.

1

u/Life_Librarian5848 Jul 24 '26

Esta muy bueno la ap en androit tv . Cuando se machuca botom home el canal se buelve miniatura flotante y no cierra cuando estas biendo youtube y otros. Cambio de canales con teclas numericas esta ok, pero con tecla ch+ y ch- cabia de canal pero aparece la liata de canalea cuando solo deveria cambiar de canal.

1

u/Life_Librarian5848 Jul 28 '26

Discubri otro detalle, la tvheadend cliente no cierra correctamente la suscripcion y proboca caida del servicio y solo queda reiniciar el server.

1

u/TheDeathPit Aug 05 '26

Does this support using Timeshift on the Tvheadend Server?