Early preview · Android TV 9 and newer

Your own subtitles, over any streaming app.

AlterSub is an Android TV app that shows the subtitles you choose on top of what you're watching, keeps them in time as you pause and skip, and lets you pick and adjust them from your phone.

AlterSub's setup screen on a TV: three required steps with green ticks, an optional Netflix titles card, and a QR code to connect a phone
The setup screen on your TV. Three steps, then scan the code with your phone.

What it does

Subtitles that work the way you want.

Over any app

AlterSub draws subtitles in a layer on top of the screen, so they work over Netflix, Prime Video, YouTube or your own videos. Your remote keeps controlling the app as usual, and you choose where they sit and how they look.

Stays in time

It follows play, pause and seek from the app that's playing, so the words stay with the voices. If a file runs early or late, nudge it from your phone once and AlterSub remembers.

Finds the right film

Where an app says what's playing, AlterSub picks it up, checks it against a film catalogue and loads subtitles. Search on your phone and every film by that name is listed with its year, country and runtime.

Controlled from your phone

Scan the code on the TV and the remote opens in your phone's browser, with no app to install. Search in any of 13 languages, pick a file, use your own, and fix the timing.

Remembers your picks

The subtitle file and timing you chose are saved for each title, and come back after a restart or when you return to the same film. Recent picks are one tap away.

Light on older TVs

Built for 1 GB Android TV boxes: under 2 MB to install, about 30 MB of memory, and it rests between subtitle changes instead of redrawing all the time.

Phone remote

Everything you need, on the phone in your hand.

The remote is a page served by your TV on your own Wi-Fi. It pairs with a PIN or the TV's QR code, and only one phone can control the TV at a time.

The Subtitles tab: a search box, the subtitle language set to English, and the subtitle file showing on the TV
SubtitlesSearch for a title, in any of 13 subtitle languages.
Search results: two films with the same name, each with its year, country and runtime, and their subtitle files with file names and lengths
Choose a fileGrouped by film, with each file's name and length.
The Timing tab: a tip about setting the timing near the start of a film, the current timing of 0 seconds with a Reset button, and minus and plus 0.5 second buttons
TimingWords late? Tap −. Early? Tap +. Or sync to a line you hear.
The Style tab: a preview of the subtitle text with controls for size, vertical and horizontal position, background and text colour
StyleSize, position, background and colour, with a live preview.

How it works

Set it up once, then just watch.

  1. Install AlterSub

    Put the app on your Android TV (see below).

  2. Finish the setup screen

    Allow the three required steps. Each has its own button.

  3. Scan the code

    Point your phone's camera at the QR code on the TV to open the remote.

  4. Play something

    Subtitles load on their own when AlterSub recognises the title. Otherwise, search on your phone and pick a file.

Setup

Getting it onto your TV.

There's no download yet, so for now AlterSub is built from its source code and installed from a computer.

You'll need

  • An Android TV or Google TV running Android 9 or newer.
  • A phone on the same Wi-Fi as the TV.
  • A computer with the Android SDK (for example Android Studio) to build the app and install it over ADB.
  • Developer options and network debugging turned on in the TV's settings.

Build and install

On your computer
git clone https://github.com/deepak-sanaka/AlterSub.git
cd AlterSub
./gradlew assembleDebug
adb connect <TV-IP>:5555
adb install app/build/outputs/apk/debug/app-debug.apk

On Windows, use gradlew.bat instead of ./gradlew.

Permissions

Open AlterSub on the TV and follow its setup screen. Some TVs hide these settings; if a button can't open them, grant them from the computer instead:

Fallback over ADB
# Show subtitles over other apps
adb shell appops set com.altersub SYSTEM_ALERT_WINDOW allow
# Recognise what's playing
adb shell settings put secure enabled_accessibility_services com.altersub/com.altersub.service.AccessibilityInspectorService
adb shell settings put secure accessibility_enabled 1
# Follow play and pause
adb shell cmd notification allow_listener com.altersub/com.altersub.service.MediaNotificationListener

Many 1–2 GB TVs never allow the last one. On those, run this once instead, then reopen AlterSub:

Low-memory TVs
adb shell pm grant com.altersub android.permission.DUMP

Good to know

The fine print, in plain words.

Netflix

Netflix doesn't tell other apps what's playing, so search for the title on your phone; AlterSub then remembers your subtitle file and timing for it. An optional setup can also pick up Netflix titles when its menus are in English.

Where subtitles come from

AlterSub searches community subtitle sources such as OpenSubtitles, in the language you choose (English unless you pick another), and you can always use your own .srt or .vtt file from your phone.

Privacy

No account, no ads and no tracking. The phone remote only works on your own Wi-Fi, after pairing. AlterSub goes online only to look up titles and download subtitles.

Early days

AlterSub is an early preview, tested on the Android TV emulator and one real TV so far. Expect rough edges, and check the project on GitHub for what's known.