TiviMate is the de-facto Android TV IPTV player. It's polished, fast, and the remote-control UX feels right. The catch: there is no real Windows version. Emulators leak audio, "ports" are usually screen-mirroring tricks, and the official answer is "use Android TV". If you've outgrown the Android box and want a real Windows experience (better hardware, real HDR tone-mapping, no Google Play Store rough edges) this guide is your transfer plan.
- Why move at all (and when not to)
- What TiviMate stores
- Pre-migration audit: write down what you have
- Migrating the playlist (M3U or Xtream)
- EPG sources and custom mappings
- Favourites and recently watched
- Settings parity table
- Remote control and arrow-key feel on Windows
- The parallel approach: keep both, switch gradually
- Common transition pitfalls
Why move at all (and when not to)
If your IPTV viewing is entirely on an Android TV box or a Shield, TiviMate is great and you have no reason to move. This guide is for the cases where Android isn't enough anymore:
- You bought a new gaming PC and the IPTV experience on it is awful. You want a player on the device you already have.
- Your Android TV box can't handle 4K HEVC HDR sports. The Shield from 2017 is still loved but its SoC throws frames at 60 Hz. A modern PC GPU handles it without breaking a sweat.
- You want real BT.2390 tone-mapping. Nightmare TV on Windows gives you BT.2390 tone-mapping that keeps highlight detail.
- You want Dolby Atmos passthrough that works. Android Atmos on IPTV is hit-or-miss. Passthrough on Windows is reliable once set up.
- You want to keep your living-room AVR + PC HTPC setup tidy. One device for everything beats juggling HDMI inputs.
Don't move if: you're happy with your Android TV setup, your screen is in the bedroom and you only watch casual TV, or you don't have a Windows PC near your AVR.
What TiviMate stores
Before migrating, know what's actually in TiviMate. Six things matter:
- Playlist URL(s), your M3U URL or Xtream credentials. The source of every channel.
- EPG source URL(s): your XMLTV URL, possibly multiple.
- Channel mappings: if you've manually mapped channels to EPG IDs (because the auto-match failed), TiviMate has stored that as a translation table.
- Favourites: your custom favourites list.
- Custom logos / renamed channels: any logo URLs or channel-name overrides you've added.
- Picture / playback settings: display options, decoder choice, buffer settings.
Of these, only items 1 and 2 transfer cleanly. Items 3 to 6 either need re-configuration on the new player or aren't worth migrating because the new player's defaults are better.
Pre-migration audit: write down what you have
On your Android TV (or wherever TiviMate is installed), open it and take screenshots / notes:
- Settings → Playlists, note the playlist name, type (M3U or Xtream), and URL. Screenshot the form.
- Settings → EPG → Sources: note each EPG source URL.
- Settings → EPG → Channels: this is where TiviMate stores its EPG mapping table. If you've manually mapped any channel, screenshot the list. You'll want to recreate it.
- Favourites tab: note the channel names in your favourites. Doesn't have to be perfectly captured; the new player will let you re-favourite quickly.
- Recently Watched: usually not worth preserving; just note your top 10 channels for muscle memory.
If you're paranoid: take a video of you walking through Settings, holding each screen for 5 seconds. This is your migration backup.
Migrating the playlist (M3U or Xtream)
This is the easy part. Your playlist URL works in any compliant player.
If you use M3U
- From your TiviMate audit, grab the M3U URL (e.g.
http://example.com:8080/get.php?username=USER&password=PASS&type=m3u_plus&output=ts). - In Nightmare TV: add a playlist → paste URL → name it → Save.
- The player fetches and parses. 5,000 channels load in 1 to 3 seconds.
- Compare channel count to what TiviMate showed. Should match.
If you use Xtream Codes
- From TiviMate, note: server URL (e.g.
http://example.com:8080), username, password. - In Nightmare TV: add a playlist → choose Xtream Codes → fill three fields → Save.
- The player makes the API calls, fetches categories, lists channels and VOD if available.
- Compare to TiviMate's display. Should match including category names.
What about both?
TiviMate sometimes has a single source loaded as both M3U and Xtream: usually that's a setup mistake. Pick one for Nightmare TV. For most users Xtream is the better choice (richer metadata, real EPG); see our M3U vs Xtream Codes guide for the decision tree.
EPG sources and custom mappings
EPG sources
Add the same XMLTV URL(s) from your TiviMate audit:
- Nightmare TV: paste it into the EPG field of the playlist's add or edit window, or into Settings → Additional sources → EPG (XMLTV) URL, and save.
- If you had multiple EPG sources in TiviMate, start with the one that covers most of your channels.
- Open the guide and check that it populates.
The mapping table (the painful bit)
If you manually mapped channels in TiviMate ("This channel in my M3U is called 'News One' but its EPG id is actually 'newsone.uk'"), that table doesn't transfer automatically. There's no export from TiviMate and no import to anywhere else.
Three options:
- Don't bother. If your provider's M3U and XMLTV use matching tvg-ids, you don't need a mapping table: it just works. Try the auto-match first.
- Recreate it manually. In Nightmare TV: long-press each channel from your TiviMate screenshots (right-click with a mouse) → Fix EPG match → choose the right EPG ID. Tedious but one-time.
- Fix the source instead. If you're remapping a lot of channels, that's a sign your M3U and XMLTV don't agree on tvg-ids. The right fix is either getting a matched playlist+EPG pair from your provider, or running a one-time Python script that rewrites your M3U's tvg-ids to match the XMLTV. See our EPG setup guide for that approach.
Option 3 is the cleanest long-term fix. Mapping tables are a workaround for misconfigured sources, not a feature.
Favourites and recently watched
Favourites don't transfer. Sorry. There's no API or export format in TiviMate that another player can consume.
The migration approach: open both apps side-by-side (Nightmare TV on PC, TiviMate on phone/Android-TV) and re-favourite manually. Most users have 30 to 80 favourites. It takes 10 minutes, not 2 hours.
Recently watched: don't transfer this either. Nightmare TV builds its own "recently watched" list as you use it. By the end of week 1 it'll mirror your TiviMate's, organically.
Settings parity table
If you've customised TiviMate's settings, here's how they map to Nightmare TV equivalents:
| TiviMate setting | Nightmare TV equivalent | Recommended value |
|---|---|---|
| Player → Decoder → Hardware/Software | Settings → Player → Hardware decoding | Auto (default) |
| Player → Buffer size | (automatic: the player handles it for you) | Nothing to set |
| Player → Use HEVC software fallback | (automatic) | Nothing to set |
| Display → HDR mode | Settings → Video Player · Defaults → True HDR Tone-mapping | On (default) |
| Audio → Output | No output setting: sound goes to the Windows default device | Pick the device in Windows |
| Audio → Passthrough | Settings → Video Player · Defaults → Audio Passthrough (ATMOS/DTS-X) | Off (default); on only with an Atmos/DTS receiver |
| EPG → Refresh interval | (automatic: the guide refreshes by itself) | Nothing to set |
| Channels → Show empty groups | No equivalent setting | Nothing to set |
| Channels → Hide adult / Parental PIN | Parental PIN in Settings | PIN set |
| Performance → Reduce frame drops | (automatic: the player handles it) | Nothing to set |
Most defaults in Nightmare TV are already the recommended values. The one you may actually change is Audio Passthrough (ATMOS/DTS-X), and only if an AV receiver or soundbar that decodes Atmos or DTS is connected. Everything else can stay default.
Remote control and arrow-key feel on Windows
This is the most common worry: "My TiviMate workflow is remote-control driven. Does Windows IPTV feel like a mouse + keyboard experience or like a 10-foot UI?"
The honest answer: on Windows, Nightmare TV has one interface, the desktop one. There is no separate TV mode or 10-foot layout to switch on, and text stays at its desktop size. What it does give you for the sofa:
- Full screen: F11 or the full screen button in the top bar switches it on and off, and Esc leaves it.
- Keyboard control throughout: the arrow keys move a visible focus ring between items and Enter opens the selected one. The ring shows while you use the keys and hides when you click with the mouse.
For the "TiviMate feel", run it full screen and drive it from the keyboard. In the live TV player:
- Number keys jump straight to a channel number
- F10 or the Menu key opens the channel list; Up and Down move through it, Enter tunes, Left or Esc closes it
- Space or K plays and pauses, Left and Right seek 5 seconds, J and L seek 10 seconds, M mutes
- Esc leaves full screen first, then goes back; ? lists all the player shortcuts
- Ctrl+F opens search across channels, films and series
- There is no channel up or down key on Windows: use the number keys, the channel list, or the previous and next buttons on the player bar
- Nightmare Remote (in Settings) turns your phone's browser into a remote on the same home network: next and previous channel, play and pause, volume and mute. It has no password, so anyone on that network can use it
Hardware: HTPC remote setup
Most users in this migration carry a Logitech Harmony or universal remote already. The cheapest path:
- Wireless keyboard with trackpad (Logitech K400+, ~$30), works as a remote-keyboard hybrid
- Logitech Harmony or universal IR remote: pair with a USB IR receiver like Flirc
- Xbox controller: not supported. Nightmare TV on Windows listens to the keyboard, not to game controllers, so a controller only works through a mapping tool that turns its buttons into arrow keys, Enter and Esc
- Phone as remote: Nightmare Remote (see above), built into the app and opened in your phone's browser, or an app such as Unified Remote that types arrow keys
The cheapest viable setup is a Logitech K400+ on the coffee table. Works first time, no driver setup, no IR pairing.
The parallel approach: keep both, switch gradually
You don't have to fully cut over. Many users keep TiviMate on the Android TV (kitchen, bedroom) and add Nightmare TV on the main HTPC (living room). The setup:
- Install Nightmare TV on Windows.
- Configure with the same M3U or Xtream credentials.
- Most providers allow concurrent connections (2 to 5 devices). The same login works on both.
- Use Nightmare TV when watching on the main TV. Use TiviMate when watching on the bedroom box.
This is the lowest-risk migration. If you decide Nightmare TV isn't for you, nothing has changed on the Android side. If you decide it is, you can deactivate TiviMate later.
If your provider has a strict device limit (e.g. 1 device only), running both at once will get you kicked. Check your provider's max_connections setting in the Xtream user_info response, or in your account dashboard. Some providers explicitly count device fingerprints rather than concurrent streams, so even logged-in-but-not-watching counts.
Common transition pitfalls
1. Buffer behaviour feels different
TiviMate and Nightmare TV strike a different balance between fast channel changes and riding out network hiccups, so the first days can feel different. Nightmare TV has no buffer length to set: it adjusts by itself, so a shaky stream keeps playing without you changing anything.
2. Channel logos missing
If your M3U has tvg-logo URLs that are HTTP (not HTTPS), Nightmare TV may block them on a HTTPS-only browsing context. Switch to HTTPS logos if your source has them.
3. HDR looks different (better but unfamiliar)
If you're on a non-OLED panel, the BT.2390 tone-mapping in Nightmare TV on Windows keeps highlight detail and can look calmer than what you saw on Android. The picture is more reference-accurate; some users find it "less punchy". Nightmare TV has no tone-mapping curve to pick: True HDR Tone-mapping in Settings → Video Player · Defaults is a single switch, on by default. See HDR tone mapping for the trade-offs.
4. Surround sound dropped to stereo
Audio Passthrough is off by default, so Nightmare TV plays the sound through Windows like any other app, and the channel layout follows your Windows sound settings. For Atmos, turn on Audio Passthrough (ATMOS/DTS-X) in Settings → Video Player · Defaults; while it is on, other apps' sound may not play on that output. See Dolby Atmos passthrough for the full setup.
5. "Where's my Recently Watched?"
Starts empty. Will populate over your first 50 channel-changes. Don't panic on day one.
6. EPG empty for some channels
Almost always tvg-id mismatches you'd had manually mapped in TiviMate. Either re-create the manual mappings in Nightmare TV, or fix the upstream sources. See EPG setup.
7. Sound from the right channel only
Specific to migration from Android STBs: some Android boxes ship with audio-channel remapping config. If after switching to Windows your right channel is missing, check Windows Sound → Properties → Levels and confirm balance is centred.
8. "Player feels heavier"
Nightmare TV is a Win32 app, not an Android TV app: it has more pixels to draw, runs at 60+ fps in the UI, and uses GPU rendering. On a modern Ryzen / Intel system the difference is invisible. On a 2018 ULV laptop you may see higher CPU. If it's an issue, check that Settings → Player → Hardware decoding is on Auto (the default), not Off (software).
Make the switch in under 10 minutes
Free 7-day trial, no credit card. Import your TiviMate playlist + EPG URL and start watching.
Download Nightmare TV Windows 10/11 · Microsoft Store · 7-day trialTL;DR
- TiviMate has no real Windows version. Nightmare TV is a native Windows alternative.
- What transfers cleanly: playlist URL, EPG source URL. Everything else needs re-config.
- Favourites, recently watched, custom mappings: re-create manually. Plan 30 minutes for first setup.
- For the "TiviMate feel" on Windows, go full screen with F11 and use the keyboard: arrow keys and focus ring, number keys for channels, F10 for the channel list. There is no separate 10-foot TV mode.
- Logitech K400+ wireless keyboard is the cheapest viable HTPC remote.
- Parallel approach: keep TiviMate on Android, add Nightmare TV on Windows, no rush to cut over.
- The one setting to consider after install: Audio Passthrough (ATMOS/DTS-X), and only with a receiver that decodes Atmos or DTS. Everything else stays default.