Back to Blog

IPTV Subtitles Not Working on Android TV: Encoding, Tracks and Fixes

•

TL;DR: Subtitle problems in IPTV usually fall into four groups. Broken characters (boxes, question marks, ç instead of ç) mean the subtitle was saved in an old Windows code page and the player read it as UTF-8. No subtitle option means the stream has no text track, or only an image-based one (PGS or DVB) that the player does not draw. The wrong language turns on when tracks have missing or wrong language tags. Subtitles that never turn on by themselves come from the player’s auto-selection settings. Each has a different fix, covered below.

How subtitles reach your TV

With IPTV, subtitles almost always travel inside the stream. A movie file in MKV or MP4 can hold several subtitle tracks next to its audio tracks. An HLS stream can list subtitle tracks in its playlist. Live TV channels may carry subtitles as DVB or teletext data.

So the player has three jobs: find the subtitle tracks, read the text in the right character encoding, and decide which track to show. A problem at any of these steps looks the same on screen: wrong or missing subtitles.

Embedded and external subtitles

  • Embedded tracks are part of the stream or file. Your provider controls them. If a movie has no Spanish track, no player setting can add one.
  • External files (.srt, .ass, .vtt) sit next to the video. Some players can search for them online or load them from storage. IPTV movie libraries rarely ship them, so most viewers depend on embedded tracks.

Problem 1: Broken characters

Why it happens

Modern subtitles are saved as UTF-8, which covers every alphabet. Many older subtitle files, especially SRT files made for a single language, were saved in a Windows code page instead:

Code pageUsed for
Windows-1252Western European languages
Windows-1250Central European (Polish, Czech, Romanian, Hungarian…)
Windows-1251Cyrillic (Russian, Ukrainian, Bulgarian, Serbian…)
Windows-1253Greek
Windows-1254Turkish
Windows-1255Hebrew
Windows-1256Arabic, Persian

The file does not say which code page it uses. Android’s media framework, Media3 (ExoPlayer), reads SubRip, SSA and WebVTT text as UTF-8. When a Windows-1254 Turkish file is read as UTF-8, letters such as ş, ğ and ı turn into replacement characters before the player ever sees them. Greek, Cyrillic and Hebrew files break the same way.

How to fix it

  • If you control the file, re-save it as UTF-8 in a text editor. That fixes it for every player.
  • With IPTV you rarely control the file, so you need a player that recognises the code page and converts it.

What IPFlix does

IPFlix Pro Player converts old code-page subtitles before they are displayed, so Turkish, Cyrillic, Greek, Hebrew and other legacy files show the right letters. It works like this:

  1. If the subtitle text is already valid UTF-8 (or UTF-16 with a byte-order mark), IPFlix leaves it alone.
  2. Otherwise it uses the track’s language tag to choose the usual code page for that language: Windows-1254 for Turkish, Windows-1251 for Russian, Windows-1253 for Greek, Windows-1255 for Hebrew, and so on.
  3. If the track has no usable language, it looks at the bytes. Cyrillic, Greek, Hebrew, Chinese, Japanese and Korean text can be recognised fairly reliably this way.
  4. If that is still not enough, it falls back to the TV’s language, then to Windows-1252. It switches to Windows-1254 when the text contains bytes that only make sense as Turkish letters, because many TVs in Turkey run in English.

English tags are ignored for this decision. Many MKV files label untagged tracks as English, so an “English” tag says little about how the file was saved. This applies to text subtitles: SRT, SSA/ASS and WebVTT.

Problem 2: No subtitles, or the track does nothing

The stream has no text track

Open the track menu during playback. If it lists no subtitles, the stream does not carry any. That is a provider question: ask whether the movie or channel is available with subtitles.

Image-based subtitles (PGS and DVB)

Not every subtitle track is text. PGS subtitles, common in Blu-ray rips, and DVB subtitles, common on broadcast channels, are pictures of text. A player needs a separate renderer to draw them, and many Android TV players skip them.

IPFlix skips PGS, DVB and other image-based subtitle tracks. It does not list them as choices and does not draw them. If a movie only has PGS subtitles, ask your provider for a version with SRT or another text track.

Late-arriving tracks in HLS

Some HLS streams announce subtitle tracks only after playback starts. A player that checks once at the start can miss them. IPFlix checks again for subtitle tracks that appear shortly after an HLS stream starts.

Problem 3: The wrong language, or no language name

Every track should carry a language tag. Different files use different formats for the same language:

  • Two letters (ISO 639-1): tr, de, fr
  • Three letters (ISO 639-2): tur, deu or ger, fra or fre
  • With a region: pt-BR, es-MX
  • und for “undetermined”, or nothing at all

A player that compares tags too strictly treats ger and de as different languages and fails to pick your preferred track. A track with no tag shows up as “Unknown” or “Track 3”.

IPFlix maps two-letter, three-letter and regional tags to the same language, including the older three-letter codes common in MKV files (ger, fre, rum, gre, chi and others). When a provider tags a track wrongly, for example Turkish subtitles tagged as English, no player can know. You will need to choose the track by hand and tell the provider.

Problem 4: Subtitles do not turn on automatically

Most players follow one preferred subtitle language, or none. IPFlix uses a per-profile setting with three options:

  • Auto (default): subtitles turn on in the app language when the audio is in another language or has no language tag. A movie dubbed into your language does not get subtitles in the same language.
  • Off: subtitles stay off unless you choose a track.
  • A specific language: that language is turned on whenever it is available.

IPFlix also skips forced or “signs only” tracks when it chooses a track by itself, because they are mostly empty. If you pick a subtitle track from the info bar during playback, IPFlix remembers that choice in your profile for the next stream. Turning subtitles off there is remembered too.

Each profile has its own subtitle and audio preferences, so one person can keep subtitles on while another keeps them off.

Step-by-step checklist

  1. Open the track menu during playback and check that a subtitle track exists.
  2. Check the track type. If a player that shows track details lists only PGS or DVB subtitles for this title, the stream has image subtitles only.
  3. Look at the characters. Boxes or odd accented letters point to an encoding problem; try a player that converts legacy code pages.
  4. Check your profile setting. In IPFlix, make sure the subtitle preference is Auto or your language, not Off.
  5. Try another movie from the same provider. If every title fails, the issue is likely the source. If only one fails, it is that file.
  6. Ask the provider for a text subtitle track or a corrected language tag.

What IPFlix does not do

To keep expectations clear: IPFlix 1.9.2 does not search for or download subtitles, cannot load a separate subtitle file, and has no subtitle delay setting. It plays the text subtitle tracks that come with your stream and shows them in the right characters.

To try it with your own playlist: Install IPFlix Pro Player from Google Play. The app itself is available in 12 languages, and the Auto setting follows the app language.

FAQ

Why do Turkish subtitles show broken ş, ğ and ı characters?

The file was saved in Windows-1254 and the player read it as UTF-8. Re-save the file as UTF-8, or use a player that converts Windows-1254. IPFlix does this automatically.

Why does the movie have subtitles on my computer but not on my TV?

Desktop players often draw PGS image subtitles or load external .srt files from the same folder. Many TV players, including IPFlix, show only text tracks embedded in the stream.

What does “und” mean in the subtitle list?

It stands for “undetermined”: the file has no language tag for that track. You can still select it by hand.

Can I change subtitle timing in IPFlix?

Not in version 1.9.2. If subtitles are out of sync, the problem is in the source file, so ask your provider for a corrected version.

Do subtitles work on live TV channels?

Only if the channel carries a text subtitle track. Many broadcast channels use DVB image subtitles, which IPFlix does not display.

Last checked: October 2026, IPFlix 1.9.2