User documentation

PlexHubTV User Guide

From first connection to playback, on Android TV (remote) and mobile (touch).

Estimated read: 11 minPlexHubTV

1. What is PlexHubTV?

PlexHubTV is a streaming app for your own media library. Instead of tying you to a single server, it brings several sources together in one Netflix-style interface:

  • Plex (Plex Media Server) ;
  • Jellyfin ;
  • Xtream / IPTV (Xtream Codes accounts, M3U playlists) ;
  • PlexHub backend (the in-house server that aggregates IPTV sources).

When the same movie or show exists on several of your servers, PlexHubTV groups them automatically: one detail page, an "Available on N servers" badge, and a source picker at playback time.

The app runs on Android TV (Mi Box, Shield, operator boxes…) with a remote, and on phone / tablet by touch. Some features are mobile-only (downloads, Cast, picture-in-picture, touch gestures) — they are marked (mobile) throughout this guide.

Playback uses two engines (ExoPlayer and MPV) that automatically hand off to each other to play as many formats as possible.


2. First launch (step by step)

2.1 Intro screen

On the very first launch, a short intro video plays. Tap "Skip" (top right) to jump straight to sign-in.

2.2 Connect a source

The PlexHubTV screen offers three source types. Pick the one you want to add first:

Source What you need
Plex A Plex account (code-based sign-in, no password to type)
Jellyfin Your server URL + username + password
Xtream IPTV Your provider's portal URL + username + password

Plex sign-in (recommended, by PIN code) 1. Select Plex, then "Sign in with PIN code". 2. The "Link an account" screen shows a code and the address plex.tv/link. 3. On your phone or computer, open plex.tv/link, sign in and enter the code. 4. The app detects the approval automatically and continues. (An "Advanced sign-in (Token)" option exists for advanced users.)

Jellyfin sign-in - Enter Server URL (e.g. https://jellyfin.example.com), Username and Password, then "Connect to Jellyfin".

Xtream IPTV sign-in - Enter Portal URL (e.g. http://portal.example.com:8080), username and password, then "Connect to Xtream IPTV".

2.3 Choose your libraries (Plex only)

After a Plex sign-in, the "Choose your libraries" screen lists your servers and their libraries (Movies / TV Shows). Tick the ones to sync, then "Confirm". (Jellyfin and Xtream go straight to sync, skipping this step.)

2.4 First synchronization

PlexHubTV downloads your servers' catalogs. The loading screen shows:

  • a golden ring with the overall percentage and a "Server x/y" counter ;
  • the phases: Discovering › Libraries › Extras › Finalizing ;
  • elapsed time and an estimated time remaining ;
  • per-server detail (status, progress, any errors).

On a large library the first sync can take a while; later syncs are much faster (incremental background updates).

2.5 Using the app without Plex

You don't need a Plex account. A Jellyfin-only or Xtream-only setup is fully supported: Home and the libraries fill with content from those sources.

Add Plex (or another source) later: Settings → Sources & Servers"Connect a Plex account" (or the Jellyfin / Xtream / Backend sections).


3. Finding your way around

3.1 On Android TV (remote)

You navigate with the D-pad. The top bar holds:

  • Tabs: Home, TV Shows, Movies, My List, History, Live TV.
  • Actions (right side): Discover (recommendations), Search, Settings, the avatar to switch profile, the clock, and status chips (offline servers, missing backend API key, running syncs).

3.2 On mobile (touch)

You navigate with the bottom bar: Home, TV Shows, Movies, Live TV, My List, History, Downloads (mobile). Search, settings and profile stay in the top bar. The Cast button (mobile) appears when a Chromecast device is available.


4. The Home screen

Home is organized into horizontal rows:

  • Continue Watching — pick up where you left off ;
  • Recently added Movies / Shows ;
  • My List — your favorites ;
  • Suggested for you and personalized rows ("Because you watched…", "Resume tonight", "Discover in [genre]"…) ;
  • Movies / Shows for you — Moore Metrics suggestions (needs an API key, see §12).

Focus preview: as you hover a poster, a large backdrop image fills the background with the type (Movie / Show / Episode) and, where relevant, a "Multiple servers" label. Select a poster to open its detail page.

You can reorder or hide Home rows in Settings → Appearance & Profile.


5. Finding content

5.1 Movies / TV Shows library

The Movies and TV Shows tabs show a grid. You get:

  • a Filters panel: Server, Source, Genre, Maturity (All, 7+, 13+, 16+, 18+, XXX) and Sort (Date added, Title, Year, Rating) ;
  • an alphabetical jump to leap to a letter ;
  • an adjustable number of columns (6 or 7) in settings.

Open Search: type a title, use voice search, or a smart search in natural language (e.g. "sci-fi movies from the 90s under 2 hours") when the AI assistant is configured.

5.3 Discover

The Discover button opens characteristic-based recommendations (Moore Metrics): set some criteria and get suggestions limited to your own library (so they're directly playable). Needs a Moore Metrics API key (see §12).


6. The movie / show detail page

The detail page shows the poster, synopsis, cast, a match percentage and technical badges (HD, 4K, HDR, Dolby Vision, Atmos, DTS…).

  • "Available on": the servers that hold this title appear as chips (3 visible + a +N chip that opens the full list). This is the visible face of multi-source.
  • Tabs: Episodes, Similar, Collections, Trailers, and "In the same spirit" (Moore Metrics).
  • Actions: Play, Download (mobile), Add / Remove from favorites, Refresh from TMDB, Hide from hub, Fix metadata (Scrapper), add to a playlist.

For a show, the Episodes tab lists seasons and episodes: you can Mark as watched, favorite, and track progress episode by episode.

Resume: if you had started a title, a dialog offers "Resume" or "From the beginning".


7. Watching: the player

7.1 Basic controls

Play / pause, rewind 10s / forward 30s, previous / next chapter, and next episode with a countdown (auto-play can be enabled in settings).

7.2 Choose the source (multi-source)

If a title exists on several servers, a "Choose source" dialog appears: each source shows languages, HDR and resolution. A Resume badge flags an in-progress playback; a source marked Unavailable (broken stream) cannot be selected.

7.3 Subtitles

  • Download subtitles from OpenSubtitles or SubDL (requires the matching keys / credentials, see §12) ;
  • Translate subtitles (AI) into your language on the fly ;
  • adjust subtitle style and timing.

7.4 Skip intro and credits

When markers exist, Skip intro, Skip recap and Skip credits buttons appear. The behavior can be set to automatic, button or off (Settings → Playback & Subtitles).

7.5 Comfort and the "More" menu

  • Sleep timer: stop after 15 / 30 / 45 / 60 min or at the end of the episode.
  • Aspect ratio: Fit, Fill, Zoom.
  • More menu: quality, speed, audio / subtitle sync, audio equalizer, detailed statistics, chapters, play queue.
  • Playback engine: ExoPlayer or MPV (with automatic fallback if a source fails).

7.6 Mobile specifics

  • Touch gestures (mobile): double-tap left / right = ±10s ; horizontal drag = seek ; vertical drag on the left = brightness, on the right = volume.
  • Picture-in-Picture (PiP) (mobile): keep watching in a small floating window.
  • Cast / Chromecast (mobile): send playback to a Chromecast device.

8. Live TV / IPTV

The Live TV tab gives you your channels:

  • channel list and search, with favorites ;
  • source switch: M3U playlist or Xtream backend ;
  • program guide (EPG): open the guide to see Now, Next and Upcoming ;
  • quick zap to change channel without leaving playback ;
  • full-screen playback.

9. Profiles and parental controls

  • "Who's watching?": several profiles with avatars; each keeps its own favorites, history and preferences.
  • Kids profile: a profile marked "Kids" limits content by age.
  • Per-profile PIN: protect a profile with a code ("PIN protected" badge).
  • Parental control: in Settings → Appearance & Profile, set a parental code — required to leave the kids profile.
  • The maturity filter (7+, 13+, 16+, 18+, XXX) is set in the Library view (Filters panel), not in Settings.

10. Downloads (mobile)

Available on mobile only. From a movie or episode detail page, tap Download:

  • choose the quality: Original, 720p (data saver) or SD (data saver) ;
  • choose the source if the title is on multiple servers ;
  • track the status (Queued, Downloading, Downloaded, Paused, Failed) and storage usage ;
  • watch offline once the download completes.

Downloads use Wi-Fi by default; enable "Download over mobile data" in Settings → Downloads if needed.


11. Settings in detail

The Settings menu is organized into 7 intent-based sections (on TV: two panes; on mobile: list then detail):

  1. Appearance & Profile — profiles, switch Plex user, theme, accent color, text outline / blur, grid columns, metadata language, Home layout (reorder / hide rows), server rows, parental code.
  2. Playback & Subtitles — video quality, engine (ExoPlayer / MPV), auto-play next episode, skip intro / credits, preferred audio and subtitle languages, 2 subtitle download languages, AI subtitle translation (model + target language + key).
  3. Sources & Servers — Plex, PlexHub backend, Jellyfin servers, IPTV / Xtream (accounts and categories), default server, server visibility (hide a server from unified libraries), server status, TV channels.
  4. Library & Sync — synced libraries, force sync, sync frequency (each launch, hourly, every 6h, every 12h, daily, manual), per-source sync tracking, ratings sync (TMDb / OMDb), clear cache.
  5. Integrations & API Keys — Trakt.tv, TV pairing, Scrapper, AI recommendations (URL + key), and the API keys (TMDb, OMDb, OpenSubtitles, Moore Metrics, SubDL).
  6. Downloads (mobile only, hidden on TV) — mobile data, concurrent downloads, connections per server, verification mode.
  7. System & About — screensaver, updates, privacy (crash reports), legal notices, debugging, version, licenses, sign out.

12. Integrations and API keys

Several features rely on external services. Most need an API key you enter in Settings → Integrations & API Keys; without a key, the feature stays inactive (with a prompt).

  • Trakt.tv — syncs your watch activity (scrobble, watchlist). Pairing by code / QR. Depending on the build: if Trakt isn't configured, the screen shows "Trakt.tv is not configured in this version".
  • Moore Metrics — recommendations (Home rows, "In the same spirit" tab, Discover screen). Needs an API key (monthly quota).
  • SubtitlesOpenSubtitles (API key + username + password to download) and SubDL (API key).
  • AI subtitle translation — choose: self-hosted AI server, Groq Llama 3.3 70B or Gemini 2.0 Flash (matching key required).
  • Metadata & ratingsTMDb (metadata, posters) and OMDb (IMDb ratings).
  • TV pairing — set up your TV from a phone / computer (code + QR) to avoid typing everything with the remote.

13. App updates

On sideload builds (installed outside the Play Store), PlexHubTV checks for new versions automatically. You can also check manually:

Settings → System & About → Updates → "Check now"**.

A new version is downloaded and offered for installation; integrity (SHA-256) is verified before installing.


14. Backup and transfer

PlexHubTV can export all of your work — scraped ratings and synopses, posters, favorites, lists, profiles, resume points, server accounts, API keys and settings — into a single .phbx file. Perfect for moving to a new TV or reinstalling without reconfiguring everything.

Export: Settings → Library & Sync → Backup & transfer → "Export". Pick where to save the file through the Android file picker (no storage permission is requested).

Import: on the new device, … → "Import", select the .phbx file, then a mode:

  • Light (recommended): non-destructive merge — favorites, profiles, ratings and settings are added to what already exists. Re-importable at will.
  • Full (advanced): entirely replaces the local database with the one from the file; the app restarts to finalize the import.

File integrity is verified with a SHA-256 checksum; a corrupt file is rejected.

⚠️ Security: the .phbx file contains your server credentials and API keys in plain text (so they can be restored). Keep it somewhere safe and do not share it.


15. FAQ and troubleshooting

Some content is missing or a row is empty. Often a sync is still running (see the sync chip at the top). You can force a sync in Settings → Library & Sync.

An "offline server" chip appears at the top. One or more servers aren't responding. Open the chip to see which ones, or enable / disable servers in Settings → Sources & Servers.

A chip warns of a "missing backend API key". The PlexHub backend is configured but its key (X-API-Key) is empty. Open the chip; it takes you to the field to fill in Integrations & API Keys.

Playback fails or a source is unavailable. Pick another source in the "Choose source" dialog (a title can exist on several servers). The player also tries an automatic engine / source fallback.

Downloaded subtitles don't show. Check the OpenSubtitles API key (and the username + password, required to download) or the SubDL key in Integrations & API Keys.

I want to hide adult content. Use the maturity filter in the library Filters panel, and a Kids profile + parental code to lock it.

How do I start over? Settings → Library & Sync → "Clear cache and data", or Sign out in System & About.


16. Privacy

Crash reports (diagnostics) are controlled in Settings → System & About → Privacy. An anonymous identifier can be copied for support. No personally identifiable information is attached to reports.

Full privacy policy: English · Français.

Ready to install PlexHubTV?

Download the APK for your TV, then let the OTA handle updates.

Download