Sie sind auf Seite 1von 14

OTT Navigator


How to install on non-Play Market device
How to install on my Windows PC/Mac

Provider (playlist) configuration

Playlist file setup
Which provider template should I choose?
Audio track selection / Subtitles enabling
Getting IP blocked by provider
EPG setup

Buffering way too much
Problems with video/audio playback
Horizontal scrolling text is unreadable
Trying PiP / Studio Mode, but app says that connections limit reached

How many devices does Premium allow
Enable premium on a Firestick (or other device without play market)
Purchased a premium but it’s not active
Unable to process purchase (Error DF-PDP-3)
Premium and multiple accounts on a single device

Partnership / Reseller
Branded app with customization
Preparing devices for other users and wish to hide provider details

Technical staff (playlist edit)

M3U Playlist file sample (an idea of supported tags)
#EXTINF:0 ...,Channel name
#EXTGRP: Sports
#EXTVLCOPT:http-user-agent="MyUser Agent"

More information
Localization (fix translation or add a new one)
Channel / Category templates (add icon, category or epg mapping when provider does not
offer this

How to install on non-Play Market device

The preferable way to install when Play Market is not available is Aptoide. First install Aptoide
Market and then install OTT Navigator from there. The version number might differ a bit, but it
should cause no problems.
Sideloading manually using different approaches might fail if you try to sideload 64bit version to
32bit device (like Fire TV), etc

How to install on my Windows PC/Mac

There is no special version dedicated to be used on Windows PC or Mac, however, there is a
solution to use the app with negligible side effects. Install ​NoxPlayer​ app on your PC - it allows
running Android apps and is highly optimized and recommended. Just use it like it was a native
Provider (playlist) configuration

Playlist file setup

1. (Not recommended) copy file to Downloads directory, so the app will see it
2. (Simplest)
a. Go to ​
b. Copy and paste the contents of your m3u playlist as a new pasture
c. Select “Unlisted” in “Paste Exposure”
d. Press Create New Paste
e. Press “RAW” on the screen, so you will get an url to your playlist
3. (Preferable)
a. Copy a playlist file to your personal Dropbox cloud storage
b. In a context menu select Dropbox -> Copy Link
c. Open a text editor and paste a link there; replace dl=0 to dl=1 in the link
d. Copy it’s again and you can configure
e. (optional) Shorten the link by going to, inserting the long link there and
getting a short one

Which provider template should I choose?

- If your playlist contains something like
“.../get.php?username=...&password=...&type=m3u_plus&output=...” then you should
use Xtream Codes
- If you have a m3u file downloaded from provider, you should either upload it and setup
as a Playlist (recommended), or configure as a Playlist File
- In other cases configuring as Playlist is generally preferrable

Audio track selection / Subtitles enabling

Sometimes hardware codecs are unable to detect different audio tracks availability (especially in
some incorrect HLS streams) and may not support subtitles. In this scenario you can use player
menu to switch to software codecs, so you will be able to select a different audio and subtitles
Getting IP blocked by provider
Some providers might have paranoid flood settings/connection restrictions that can affect
access to service. Here are some recommendations if you experience such a problem:
- Check amount of connections your provider offers and configure provider parameters to
match this value in order to limit picture-in-picture and other advanced modes
- Setting stream technology to MPEG-TS (settings - extended; HLS support on xtream
codes servers is quite poor)
- Disabling video preview (settings - visual style - description) and in general limit usage of
picture-in-picture and studio mode

EPG setup
You can check whatever EPG is provided and alive from your IPTV provider by navigating to
Settings - EPG - Reload, and watching the status of reload process (looking for the number of
sources processed, each sources processing result, and number of matched channels and

If your provider has an EPG source but for some reason does not specify it in playlist, then it’s
recommended to configure it in “Settings - Provider - (your provider) - Parameters - EPG”.
This way the channels mapping will be searched by both channel names and tvg-id fields.
If you configure EPG source in “Settings - EPG - User-provided” then matching by name is only

Buffering way too much

There might be multiple reasons for buffering - starting from poor Internet connection to some
firmware specifics. Here comes a list of actions that usually helps if the cause is
hardware/firmware, rather than the network issues:
- Set buffer size to minimal (settings - player - network - buffer)
- Change hardware codecs quality to compatibility (settings - player - codec - hardware
- Disable AmLogic fix (settings - player - codec - amlogic)
- Change resolution from 4K to Full HD on your device if not watching 4K usually

Problems with video/audio playback

Since the streams of your provider can be different, your hardware used for playback has
different capabilities and your device firmware has bugs, there is no best configuration. App
comes with hardware decoders, software decoders, and support for external player, defaulting
to software codecs in most cases as being less dependent on firmware bugs.

Please try using these settings in the suggested order and test which works best for you:
- Hardware codecs (compatibility mode) - most channels should work, especially if casted
via HLS/DASH technology
- Hardware codecs (best match mode) - can help supporting original 4k satellite streams
- Software codecs (should support almost anything, but will work slower)
- External player

App remembers which codec was previously selected for channel and will reuse it in the future
(unless disable this in settings)

Horizontal scrolling text is unreadable

When app is using hardware codecs it has no control whatever deinterlacing will happen or not -
it’s fully dependant on your device firmware. In order to insist on deinterlacing you should switch
the channel to use software codecs that uses one of 3 different deinterlacing algorithms
depending on what software codecs quality is selected.
Trying PiP / Studio Mode, but app says that connections limit
App tries to detect the number of connections your provider allows to protect you against ban by
your provider. Some providers do not allow the detector to work so app defaults to a single
connection in that case. You can override auto-detected connections limit yourself.
Go to Settings - Provider - (select your provider) - Parameters - Number of connections.
Bear in mind, that you still can use multiple screens (PiP / Studio) using 1-connection providers,
if you have a couple of them, since each provider is counted separately.

How many devices does Premium allow

Premium will be active on all your devices that, as long, as they:
1. Have Google services working (with Play Store)
2. Using the same Google account

For non-Google devices, please check FAQ.

PS: Sometimes Play Store takes a while to sync purchases. Check FAQ how to speed up the

Enable premium on a Firestick (or other device without play

Recommended solution:
1. Use Android device with Play Market to purchase premium as a single payment. Yearly
subscription is also ok (monthly is not).
2. Find notification email from Google with purchase number (GPA.123.456..), that will be
required later on
3. Forward this email or send this number to us; If you failed to find the purchase number, you
can send your email name (google account used by you when purchased premium).
4. On the device with Fire Stick attached launch the app
5. Go to the settings - about - installation id; and send this number to us (either paste from
clipboard, or scan QR code)
So we will activate the premium on this device
WARNING: This number will drop if you uninstall app or remove app data
PS: If you already purchased a subscription, you should refund it (or send us the purchase
number GPA.123.456… so we will refund it) and buy app via one-time payment in order to be
able to bind your purchase to the installation id on the non-play market device.

Possible alternative solution:

You can also purchase premium via Aptoide. However, this way premium might not be
transferable to another device. Suggested only if you have a single device that does not support
play market and no other devices are planned to be used.

PS: Since the activation is manual, it may take up to a few days to proceed.
Purchased a premium but it’s not active
Sometimes it takes a while for Play Store to sync purchases (due to long caching). Steps to
guarantee that sync will happen instantly:
1. Go to settings - premium - restore purchases. If the process will report that restoration
occurred - it means that all is ok, and reactivation has happened.
2. Clear cache of Play Store app
3. Clear cache of OTT Navigator app (usually not required)
4. Reboot your device (might not be needed, but usually triggers cache update for Play
5. Relaunch OTT Navigator
6. (if does not help) Reinstall the app
a. Backup the configuration (settings - extended - backup - backup)
b. Write down the backup code
c. Delete the app
d. Install the app, restore the backup
e. Launch the app
7. In case it does not help - contact our support (specifying google account used for
purchase, or purchase number GPA…)

Unable to process purchase (Error DF-PDP-3)

Recently Play Market stopped processing purchases when the app was not installed from it.
Install application from play market and payment should work.

Premium and multiple accounts on a single device

Play Market: When the device has several Google accounts, then it might switch between
accounts by Google services itself, meaning that in-app purchases / subscriptions might be
taken from one or other account with almost no user control. Best way to reactivate all
purchases to correct account:
1. Uninstall the app (backup is suggested via settings - extended - backup)
2. Open browser on your desktop PC
3. Open play market page in your browser: ​OTT Navigator IPTV
4. Log in to the web interface of Google Play with the account you used to purchase
5. Install the app from the browser selecting the device to push the app to
Partnership / Reseller

Branded app with customization

If interested in whitelabel package (custom logo, background, providers, etc), then contact us
via email ​​ or reach us on Telegram (contact @FlavusV)

Preparing devices for other users and wish to hide provider

You can configure the app and then hide provider details.
Go to the settings - extended, and long press the status line.
You will be asked for a service code (if set) or receive access to service panel, that allows you
changing the service code and/or disable provider settings details availability.
Technical staff (playlist edit)

M3U Playlist file sample (an idea of supported tags)

Playlist header, marks playlist start
Supported attributes:
- url-epg="​http://path/to/epg/api/​" : prefix for getting channel epg for exact channel (not
- url-tvg="​http://path/to/epg.xml.gz​" : path to EPG teleguide for the whole playlist (either
xml or xml.gz format)
- url-logo="​http://path/to/icons/root/​" : root for all channel icons (used if channel has icon
specified without scheme://domain part)
- catchup=".."
- catchup-type=".." : specifies that there are archives for channels. Supported types:
- "default" - only replace variables
- "flussonic", "flussonic-hls" - flussonic (HLS)
- "flussonic-ts" - flussonic (MPEG-TS)
- "flussonic-dash" - flussonic (MPEG-DASH)
- "shift" - ?utc=startUnix&lutc=nowUnix
- "archive" - ?archive=startUnix&archive_end=toUnix
- "xc" - xtream codes
- "append" - appending value specified in catchup-source attribute to the base
channel url
- "timeshift" - timeshift=startUnix&timenow=nowUnix
- catchup-time="10800" : duration for archives being available (in seconds) (not
- catchup-days="3" : duration for archives being available (in days)
- catchup-source="..." : allows to override path for archive playback (or append to the end
of the url if catchup-type="append" is set). Supported variables:
- {key}, ${token} - user-configured token
- ${start}, {utc} - fromUnix
- ${timestamp}, {current_utc} - nowUnix
- ${login}, ${password} - user-configured login and password
- ${duration} - show duration (seconds)
- max-conn="1" :f you allow user opening more connections at the same time (like
watching picture-in-picture) set number of connections here
- billed-till="timestamp" : unix time when user account will expire (will be displayed for

#EXTINF:0 ...,Channel name

Channel declaration
Supported attributes:
- ch-number="27" : default shortcut for channel when using remote keys switching
- group-title="Movies" : category this channel belongs to
- parent-code="0000" : if set, marks a channel as restricted that should be hidden by
default unless code entered (like adult)
- ch-id="dscru" : channel id. used only with combination when url-epg or url-logo are set in
playlist header (appended to the end of the base url)
- tvg-id="" : channel id in epg teleguide that was linked in the playlist
- tvg-name="Discovery HD" : original channel name (channel name as declared in epg
teleguide), if differs from channel name specified in playlist
- tvg-logo="​http://path/to/logo.jpg​" : link to channel logo (or file name that should be
appended to root url set in url-logo in playlist header)
- tvg-rec="1" : marker that channel contains archives (0 - off, 1 - on). not needed if
catchup* attribute is present (values more than 1 are parsed like aliases for
- catchup* : all catchup settings that are explained in header can be overridden here on
channel level
- type="playlist", content-type="playlist" : allows to merge another playlist inside the
current one. Url specified for this 'channel' is treated as include
- adult="1" : marker that channel is adult (however it’s highly recommended to place all
channels in single adult category, since it’s not guaranteed to correctly filter out adult
channel in ordinary categories)
- tvg-shift="-2" : marker specifying that epg data should be shifted by several hours
- audio-track=”2” : try to autoselect 2nd audio track

#EXTGRP: Sports
Alternative way to setup channel category (but group-title=”Sports” is preferrable)

#EXTVLCOPT:http-user-agent="MyUser Agent"
Allows to override UserAgent http attribute for the stream
More information
(Russian) : Frequently Asked Questions ​​ (official)
(Russian) : ​​ (unofficial)

Localization (fix translation or add a new one)

Translations are being available online at ​​ (source
language supported by developer is English, you can take it as a base).
Then you choose either:
- (Github way for tech-ready): fork the repository, make your changes and submit a pull
- (Easy way for normal people): just download the corresponding xml file (or create a new
one taking strings.xml as a base contents), make changes that are required and send it
to us via email

Channel / Category templates (add icon, category or epg mapping

when provider does not offer this
Channel templates are available at ​
You can fork the repository and create a pull request suggesting your changes to template
adding epg id, category name, or channel icon url to be used by the app.
To ensure that templates are re-read by app, cache clear is required

Changes are published on Telegram ​​ or available at

Play Market: ​
Play Market (beta versions): ​
Aptoide market: ​
Support chat on Telegram ​
Contact the developer directly at ​
White label / branding contact ​
Reddit ​
Twitter ​
Privacy policy ​