User guide

Everything you need to use FMHYPlay on a TV or a phone.

Install

Download the right file from the latest release.

FileUse it on
FMHYPlay-TV-vX.Y.Z.apkAndroid TV, Google TV, Fire TV and boxes. It adds the launcher entry and banner.
FMHYPlay-Android-vX.Y.Z.apkPhones and tablets.

Phone: open the downloaded file and allow installs from your browser or file manager when asked.
TV: put the APK on a USB drive and open it with a file manager, or install over the network:

adb connect TV_IP_ADDRESS:5555
adb install -r FMHYPlay-TV-vX.Y.Z.apk

Updates install over the old version, because every release is signed with the same key. You can check a file against SHA256SUMS.txt on the release page.

Updates from inside the app (2.14.0 and later): when a newer release is out, Home shows one line with an Install button. FMHYPlay downloads it from GitHub and Android asks you to confirm; the first time, allow FMHYPlay to install unknown apps. Settings, Check for updates looks right away, and Check at app start turns the automatic check (at most every 12 hours) off.

Browse and play

The tabs along the top (bottom on a phone) are Home, Movies, TV, Sports, Anime, IPTV and Settings.

  • Sites are the streaming sites from the FMHY lists, grouped by what they carry. Pick one to open it.
  • Catalog rows show what is popular. Pick a title, then Watch on a site: on many sites it opens the title's own page, on the others it searches for the name.
  • Continue watching on Home brings back the last titles you opened.
  • Hold OK (long-press on a phone) on a site for favorites and mirrors.

When a site starts a video, FMHYPlay takes it over and opens the native player. Back returns to the site, and a small Native player button in the corner brings the player back.

Favorites and My list

Mark what you use most so it is one press away.

WhatHow to mark itWhere it shows up
A siteHold OK (long-press on a phone) on the site, then Add to favorites. The same menu removes it.The Favorites row on Home
A title (movie or series)Hold OK or long-press its poster. A message confirms Added to My list; do it again to remove it. On the title page you can also press + My list.The My list row on Home
An IPTV channelHold OK or press Menu on the channel's card, then Add to favorites (a star appears on its name).The Favorites row on the IPTV tab

Settings, Your data clears favorites, watch history, IPTV history and My list.

Add your own site

Any website can live in the app, even one that is not in the FMHY lists.

  1. On Home, find the Favorites row and press the + Add a site card.
  2. Type or paste the address (for example example.com; https:// is added for you) and press Add.
  3. The site appears in Favorites. Open it like any other: the native player, ad blocking, the remote cursor and the Servers and Quality buttons all work on it.

Hold OK on it to remove it from your favorites.

TV remote

WhereKeyWhat it does
MenusArrows, OKMove and select; the tab row is above the first row
MenuSame as holding OK: favorites, mirrors, remove
SitesArrowsMove a round cursor over the page (or the focus, in focus mode)
Hold OK 5 sSwitch between cursor and focus mode for that site
PlayerLeft RightSeek 10 s; hold to go faster (30 s, then 60 s)
OK / PlayPause and play
UpShow the controls
Down / MenuMove to the buttons (Servers, Quality, Audio, Subtitles, Speed, Zoom)
BackClose the player and return to the site

Seeking waits until you stop pressing, then jumps once, so holding the key does not make the stream reload on every step.

Phone and tablet

GestureWhat it does
Tap the videoShow or hide the controls
Double-tap the left or right thirdBack or forward 10 seconds
Double-tap the middlePause and play
Swipe up or down on the left halfBrightness
Swipe up or down on the right halfVolume
Drag the progress barSeek (it jumps once, when you let go)

The player is landscape on phones, whichever way up you hold it, and it keeps clear of camera cut-outs.

The player

The row of buttons shows each setting's current value. A pink value means it is not the default.

ButtonShowsOpens
QualityHeight and frame rate, for example 1080p60The qualities the stream offers, or the site's own quality list for sites that serve one playlist per quality. The frame rate comes from the stream when it declares one, otherwise it is measured from the frames being shown.
AudioLanguage codeThe stream's audio tracks (only when there is more than one)
SubtitlesOff or a languageThe stream's subtitles, a search in OpenSubtitles, and the size, position and timing panel
Speed1x0.5x to 2x
ZoomFitCycles Fit, Fill (crops to cover the screen), Stretch, 16:9 and 4:3. Every playback starts on Fit.
For live channels the −10 and +10 buttons and the progress bar are hidden, since there is nothing to seek in.

Episodes and servers

To switch episode, press Back to return to the site's own player and choose the episode there. FMHYPlay ignores the stream you just left and waits for a different one, then opens it in the native player by itself.

The Servers button lists the site's own servers (the buttons named Server, Source or Mirror, including ones behind a menu). Choose one: the player closes, FMHYPlay presses it on the site, and the new stream opens by itself.

Subtitles

Open Subtitles, choose Search OpenSubtitles, then a language and a release. The file is added to the stream and playback continues from the same spot. Pick a release that matches your video (for example the same source and resolution) so the timing lines up. Search needs to know which title is playing: it comes from the catalog when you started from there, otherwise from the page's title and address.

The last entry in Subtitles, Size, position, timing, opens a panel with − and + buttons:

  • Size and Position (+ moves them up, for TVs that show them too low or too high). Both are remembered, and Settings, Subtitles changes them too.
  • Timing: + shows subtitles later, − earlier, 0.1 s a press. It applies to the video you are watching.
  • Reset puts all three back.

Simkl

Simkl is a free watch tracker. Connect it once and the movies and episodes you watch are marked watched there.

  1. Open Settings, Simkl and press Connect. A code appears.
  2. On your phone or computer open simkl.com/pin, sign in (or make a free account) and enter the code.
  3. The TV says Connected by itself.

Only titles opened from Movies, TV or Anime count, since they carry the title's IMDb id. A title is marked watched once you pass 80% in the native player. Press Settings, Simkl again to disconnect.

IPTV

The IPTV tab lists public channels by category and country.

  • Continue watching and Working rows: the last channels you watched, and every channel that has played for you. Hold OK on a card to remove it or star it.
  • Offline channels are hidden. A background check tests channels a few at a time and remembers the result (working for a week, not working for two days). A channel that fails when you press play is hidden at once. Settings, Hide offline channels turns this off and Check channels now tests everything again.
  • Search by typing or by voice, and filter inside any list.
  • Your playlists come first: each one you added has its own row under the name you gave it, and single stream links share a My streams row (see below).
  • + Playlist (top right) adds your own playlist or a single stream link.

Add a stream or playlist

Press + Playlist on the IPTV tab (or Settings, Add a playlist or stream), paste a link and press Add. Give it a name: that is its row on the IPTV tab. Two kinds of link work:

You pasteYou get
A playlist: an M3U file that lists channels (#EXTINF lines)Every channel in it, with its name, logo and group, in its own row at the top of the IPTV tab
A single stream: an .m3u8 (HLS) link, for example a camera, a live feed or a channel your provider gave youOne channel in My streams, under the name you gave it or named after the address (for example cdn.example.com · news). It plays in the native player like any other.
  • Xtream Codes: if your provider gave you a server, username and password instead of a link, press Xtream login in the same dialog. The provider's live channels show in their categories. The background channel check never tests them, so the account's connection limit is not used up.
  • Links on your own network (a PC, a NAS, a media server) work too; they never go through WARP.
  • Playlists are downloaded again every 12 hours and when you press Settings, Refresh IPTV channels. A single stream is kept as it is.
  • Hold OK on a card in your playlists to star it. Remove a whole playlist in Settings: each one has its own row (press it, then Remove).
  • If it says Not a playlist or stream link, open the link in a browser first: it should start with #EXTM3U.

Your own sources

Settings, Extra source list takes a link to a plain text file that you host anywhere (a repository, a gist, your own server). It can bring in more playlists and a table of title-page links.

# one entry per line
My channels|https://example.com/my-channels.m3u
@deeplinks|https://example.com/deeplinks.json
  • label|url adds a playlist; the label shows on its channel tiles.
  • @deeplinks|url points at a JSON table of title-page addresses, used when you pick Watch on a site. Each site maps to movie and tv templates:
    { "example.com": { "movie": "/movie/{tmdb}", "tv": "/tv/{tmdb}" } }
    {tmdb} and {imdb} are replaced with the title's ids.
  • Lines starting with # are notes. The file is read at start and every 12 hours, and Refresh IPTV channels reads it now.

WARP and ad blocking

WARP (Settings, Connection) is a Cloudflare tunnel that carries only this app's traffic, with no VPN permission. It helps with networks that block sites or DNS. Addresses on your own network are never sent through it. Turn it off if a network does not allow it.

Ad block blocks ad and tracker domains, pop-ups and redirects on every site, using a domain list that refreshes weekly. If a site breaks, turn it off for a moment in Settings.

Troubleshooting

ProblemTry
A site does not openTurn WARP on, or try a mirror (hold OK on the site).
The player does not startPress Play on the page first. Some sites start the stream only after a click. Then use the Native player button.
"Native player could not play this"It goes back to the page, which still plays the video itself. Try another server from the page.
No Servers buttonIt appears only when the site's own buttons were found. Use the page's own controls for that site.
Picture looks zoomed after a quality changeSeen only on the Android emulator's software decoder; FMHYPlay restarts the decoder there. On a device, set Zoom back to Fit.
IPTV channels disappearThey failed the check. Turn off Hide offline channels, or run Check channels now later.