User guide
Everything you need to use FMHYPlay on a TV or a phone.
Install
Download the right file from the latest release.
| File | Use it on |
|---|---|
FMHYPlay-TV-vX.Y.Z.apk | Android TV, Google TV, Fire TV and boxes. It adds the launcher entry and banner. |
FMHYPlay-Android-vX.Y.Z.apk | Phones 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.
| What | How to mark it | Where it shows up |
|---|---|---|
| A site | Hold 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 channel | Hold 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.
- On Home, find the Favorites row and press the + Add a site card.
- Type or paste the address (for example
example.com;https://is added for you) and press Add. - 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
| Where | Key | What it does |
|---|---|---|
| Menus | Arrows, OK | Move and select; the tab row is above the first row |
| Menu | Same as holding OK: favorites, mirrors, remove | |
| Sites | Arrows | Move a round cursor over the page (or the focus, in focus mode) |
| Hold OK 5 s | Switch between cursor and focus mode for that site | |
| Player | Left Right | Seek 10 s; hold to go faster (30 s, then 60 s) |
| OK / Play | Pause and play | |
| Up | Show the controls | |
| Down / Menu | Move to the buttons (Servers, Quality, Audio, Subtitles, Speed, Zoom) | |
| Back | Close 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
| Gesture | What it does |
|---|---|
| Tap the video | Show or hide the controls |
| Double-tap the left or right third | Back or forward 10 seconds |
| Double-tap the middle | Pause and play |
| Swipe up or down on the left half | Brightness |
| Swipe up or down on the right half | Volume |
| Drag the progress bar | Seek (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.
| Button | Shows | Opens |
|---|---|---|
| Quality | Height and frame rate, for example 1080p60 | The 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. |
| Audio | Language code | The stream's audio tracks (only when there is more than one) |
| Subtitles | Off or a language | The stream's subtitles, a search in OpenSubtitles, and the size, position and timing panel |
| Speed | 1x | 0.5x to 2x |
| Zoom | Fit | Cycles Fit, Fill (crops to cover the screen), Stretch, 16:9 and 4:3. Every playback starts on Fit. |
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.
- Open Settings, Simkl and press Connect. A code appears.
- On your phone or computer open
simkl.com/pin, sign in (or make a free account) and enter the code. - 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 paste | You 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 you | One 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|urladds a playlist; the label shows on its channel tiles.@deeplinks|urlpoints at a JSON table of title-page addresses, used when you pick Watch on a site. Each site maps tomovieandtvtemplates:{ "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
| Problem | Try |
|---|---|
| A site does not open | Turn WARP on, or try a mirror (hold OK on the site). |
| The player does not start | Press 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 button | It 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 change | Seen only on the Android emulator's software decoder; FMHYPlay restarts the decoder there. On a device, set Zoom back to Fit. |
| IPTV channels disappear | They failed the check. Turn off Hide offline channels, or run Check channels now later. |