Skip to content

Settings reference

Current source and next release

The unified Playback backend section and StreamNZB support are not in Stable 1.2.3 or Beta 2.0.0-beta.2. These instructions and illustrations describe current source builds and the next release.

In released builds, configure nzbdav and WebDAV under Connection. Beta 2.0.0-beta.2 has a separate NZBGet section with an Use NZBGet instead of nzbdav for playback toggle. Stable 1.2.3 supports nzbdav only. StreamNZB requires a current source build until a release includes it.

Current released packages (Stable 1.2.3 and Beta 2.0.0-beta.2) use the Kodi menu name NZB-DAV. In those builds, choose that name wherever these instructions show NeNeTeePee-Stream-Kodi. Renamed source builds use the new name.

This page documents every setting in NeNeTeePee-Stream-Kodi, grouped by the tab it appears on in Kodi's add-on settings (My add-ons → Video add-ons → NeNeTeePee-Stream-Kodi → Configure).

For each setting you'll find its label, its internal id (useful if you edit settings.xml directly), its default, and what it does. Each tab also lists its actions, the buttons that run a test or open a dialog.

Defaults are chosen to be safe

Configure your selected Playback backend and, for nzbdav / InfiniDysk or NZBGet, at least one provider under Indexers. Other settings have working defaults. Change the Advanced tab in particular only when you have a specific reason.

See the illustrated settings guide for real Kodi screenshots, every individual option, and commit-pinned source footnotes.

Playback backend

Setting Default Purpose
Playback backend nzbdav / InfiniDysk Select nzbdav / InfiniDysk, NZBGet, or StreamNZB. Existing NZBGet selections migrate automatically.
StreamNZB server/base URL Empty HTTP/HTTPS server reachable from Kodi. Visible with StreamNZB selected.
StreamNZB stream token Empty Masked stream token; never dashboard administrator credentials. Visible with StreamNZB selected.

See StreamNZB backend for setup and limits.

Connection fields for all three backends appear on this tab. The tab shows only the selected backend's fields. There are no separate Connection or NZBGet tabs.

nzbdav / InfiniDysk

Setting ID Default Description
nzbdav URL nzbdav_url http://localhost:3000 Base URL of your nzbdav or InfiniDysk server.
API Key nzbdav_api_key (empty) nzbdav API key, from Settings → Usenet → API Key in nzbdav. Stored hidden.

Action: Test nzbdav Connection verifies the URL and API key.

WebDAV

Setting ID Default Description
WebDAV URL (leave empty to use nzbdav URL) webdav_url http://localhost:8080 Base URL of the WebDAV server. Clear it to reuse the nzbdav URL. Keep a value only if WebDAV is on a separate address.
Username webdav_username (empty) WebDAV username, from Settings → WebDAV in nzbdav.
Password webdav_password (empty) WebDAV password. Stored hidden.

Action: Test WebDAV Connection verifies WebDAV reachability and credentials.

NZBGet

An alternative backend to nzbdav. When you select it, NeNeTeePee-Stream-Kodi downloads through NZBGet and plays from an SMB share or a local/mounted path. See NZBGet backend. The URL, username, password, category, and completed-folder fields appear on Playback backend when you select NZBGet.

Beta feature

Added in 2.0.0-beta.1, available on the Beta channel.

Setting id Default Description
Playback backend playback_backend 0 (nzbdav) Select 1 for NZBGet or 2 for StreamNZB. Old nzbget_enabled choices migrate on first invocation.
NZBGet URL nzbget_url http://localhost:6789 NZBGet control address.
NZBGet Username nzbget_username nzbget NZBGet control username.
NZBGet Password nzbget_password (empty) NZBGet control password. Stored hidden.
NZBGet Category nzbget_category (empty) Category to submit under; also used to locate the completed file.
Completed Folder (SMB or Local Path) nzbget_smb_root (empty) smb:// URL or local/mounted path of NZBGet's completed-downloads base. An NFS hard mount is recommended.

Actions: Test NZBGet Connection, Test Completed Folder.

Indexers

NZBHydra2 is the first provider, followed by Prowlarr, then direct Newznab indexers. These settings apply to nzbdav / InfiniDysk and NZBGet. StreamNZB manages indexers on its own server and ignores these local settings.

NZBHydra2

Setting ID Default Description
Enable NZBHydra2 nzbhydra_enabled false Use NZBHydra2 as a search provider. TMDBHelper playback honors this switch; NeNeTeePee-Stream-Kodi's own search menu and plugin:// play URLs query NZBHydra2 even when it's off.
NZBHydra2 URL hydra_url http://localhost:5076 Base URL of your NZBHydra2 instance.
API Key hydra_api_key (empty) NZBHydra2 API key. Stored hidden.

Action: run Test NZBHydra Connection to verify the connection.

Prowlarr

Setting ID Default Description
Enable Prowlarr prowlarr_enabled false Use Prowlarr as a search provider. NeNeTeePee-Stream-Kodi keeps only Usenet results.
Prowlarr URL prowlarr_host http://localhost:9696 Base URL of your Prowlarr instance.
Prowlarr API Key prowlarr_api_key (empty) Prowlarr API key. Stored hidden.
Prowlarr Indexer IDs (comma-separated) prowlarr_indexer_ids (empty) Indexer IDs to query. Required for Prowlarr search; a blank value returns no results.

Action: Test Prowlarr Connection verifies the URL, key, and indexer reachability.

Direct Newznab indexers

Direct indexer fields and buttons stay greyed out until you enable direct indexers.

Setting ID Default Description
Enable direct Newznab indexers direct_indexers_enabled false Master switch for direct indexers.

Popular indexers: each has an enable toggle, an API URL, and an API key. The URL defaults are the indexers' standard API endpoints:

Indexer Enable ID URL ID (default)
NZB.life / NZB.su direct_indexer_nzblife_enabled direct_indexer_nzblife_url (https://api.nzb.su/api)
NZBGeek direct_indexer_nzbgeek_enabled direct_indexer_nzbgeek_url (https://api.nzbgeek.info/api)
NZBFinder direct_indexer_nzbfinder_enabled direct_indexer_nzbfinder_url (https://nzbfinder.ws/api)
DrunkenSlug direct_indexer_drunkenslug_enabled direct_indexer_drunkenslug_url (https://drunkenslug.com/api)
NZBPlanet direct_indexer_nzbplanet_enabled direct_indexer_nzbplanet_url (https://api.nzbplanet.net/api)
DOGnzb direct_indexer_dognzb_enabled direct_indexer_dognzb_url (https://api.dognzb.cr/api)

Each also has an API-key field (direct_indexer_<name>_api_key, stored hidden).

Custom Newznab Indexers: Custom Indexer 1–3, for any Newznab indexer not in the preceding list. Each has an enable toggle (direct_indexer_customN_enabled), Indexer Name (direct_indexer_customN_name), API URL (direct_indexer_customN_url), and API Key (direct_indexer_customN_api_key, stored hidden). All default to off/empty.

Actions:

  • Manage Indexers: add from a 22-entry preset catalog or a custom URL; test, edit, turn on or off, and delete managed indexers; refresh NZBHydra2 caps. Opening it copies complete rows from this tab into the managed list once; a managed entry then takes precedence over the tab row with the same id.
  • Test Direct Indexers: fetches caps from every enabled indexer.

Beta feature

Manage Indexers was added in 2.0.0-beta.1 and is available on the Beta channel.

TV search accuracy

Setting id Default Description
TMDB API key (optional, movies and TV) tmdb_api_key (empty) A TMDB key (not a TVDB key). For episodes, it resolves the show's TVDB id when TMDBHelper didn't supply one. For movies, it converts a TMDB movie id into an IMDb id when no IMDb id was supplied. The add-on uses IDs supplied by TMDBHelper directly. Without the key, or on lookup failure, the search uses whatever ids and title it already has. Stored hidden.

Beta feature

Added in 2.0.0-beta.1 (TV lookup), available on the Beta channel.

Player Installation

Actions only, with no stored settings.

  • Install TMDBHelper Player: installs the NeNeTeePee-Stream-Kodi player file into TMDBHelper.
  • Install Player Other: installs the player file into another add-on that has a players folder.

See Set up TMDBHelper.

Quality filters

Every format toggle defaults to true. Other / Unknown independently controls missing or unlisted metadata in each category, including HDR. If every named switch in a category is off, recognized values become unrestricted in that category. See Quality filtering for the full options.

Group Settings (id)
Resolution filter_4320p, filter_2160p, filter_1440p, filter_1080p (p/i), filter_720p (p/i), filter_576p (p/i), filter_540p, filter_480p (p/i), filter_360p, filter_240p, filter_unknown_resolution
HDR filter_hdr10, filter_hdr10plus, filter_dolby_vision, filter_hlg, filter_sdr, filter_unknown_hdr
Audio filter_atmos, filter_truehd, filter_dtshd_ma, filter_dtshd_hr, filter_dtsx, filter_dts, filter_ddplus, filter_dd, filter_aac, filter_flac, filter_pcm, filter_opus, filter_mp3, filter_alac, filter_vorbis, filter_mp2, filter_wma, filter_ac4, filter_unknown_audio
Video codec filter_hevc, filter_avc, filter_av1, filter_vp9, filter_mpeg2, filter_mpeg4, filter_vc1, filter_mpeg1, filter_vp8, filter_wmv, filter_h263, filter_vvc, filter_mjpeg, filter_theora, filter_unknown_codec

Languages

A separate tab after Quality filters: 48 language toggles, one per language (filter_<language>, from filter_arabic to filter_vietnamese), plus Other / Unknown Language (filter_unknown_language). All default to true. Spanish includes Latino. If Chinese is on, releases tagged Cantonese or Urdu also pass. If every named language is off, recognized languages are unrestricted; Other / Unknown Language still controls unknown metadata.

Keyword filters

Setting ID Default Description
Preferred groups: Tier 1 / 2 / 3 filter_remux_tier_1, filter_remux_tier_2, filter_remux_tier_3 TRaSH remux tiers 1/2/3 Editable comma-separated group names; empty turns that tier off. Under Relevance, Tier 1 groups rank higher than Tier 2, then Tier 3 (after resolution, HDR, and REMUX). Ranking only; never hides a release.
Excluded release groups filter_exclude_release_group (empty) Comma-separated groups to remove. Not shown as a field; edit it with Configure Excluded Groups....
Min size (MB, 0=no limit) filter_min_size 0 Remove releases smaller than this. A size that can't be read counts as 0 MB.
Max size (MB, 0=no limit) filter_max_size 0 Remove releases larger than this. If max < min, the size filter is turned off.
Exclude keywords (comma-separated) filter_exclude_keywords (empty) Remove releases whose title contains any keyword.
Required keywords (comma-separated) filter_require_keywords (empty) Remove releases whose title doesn't contain every keyword.

Action: select Configure Excluded Groups... to open a multi-select of 94 known release groups. An empty list means no exclusions.

Sorting

Setting ID Default Values
Sort by sort_order 0 (Relevance) 0 Relevance, 1 Size (largest first), 2 Size (smallest first), 3 Age (newest first), 4 Age (oldest first)
Max results max_results 25 Provider request limits are clamped to 1–10000. The filtered picker uses the raw positive integer as its limit; 0 or less leaves it unbounded. The picker's show-all view is not truncated.
Auto-select best match (skip result list) auto_select_best false Play the top-ranked result that passed your filters and skip the picker. If nothing passed, the picker opens instead.

Advanced

These settings tune polling, caching, stream resilience, fallback streams, and the proxy.

Beta settings

Clear download queue when starting a new download, Seconds into playback before submitting fallback backups, Max seconds to wait for a slow/stalled backend, and Read-ahead buffer size were added in 2.0.0-beta.1 and are available on the Beta channel.

Polling

Setting ID Default Description
Poll interval (seconds) poll_interval 1 Seconds between download-status checks. Clamped to 1–60.
Download timeout (seconds) download_timeout 3600 Give up if the download isn't ready within this time. Clamped to 60–86400.
NZB submit timeout (seconds) submit_timeout 300 Max wait for nzbdav to accept the NZB (it fetches and parses the NZB before replying). Clamped to 5–600.
Clear download queue when starting a new download clear_queue_on_submit 0 (Ask) For nzbdav / InfiniDysk only: 0 Ask, 1 Always clear, 2 Never. NZBGet ignores this option. Excludes this title's own in-flight job, and never clears a completed copy you're about to reuse.

Search cache

Setting ID Default Description
Cache duration (seconds, 0=disabled) cache_ttl 60 How long to cache search results. 0 turns off the cache. Clamped to 0–86400. Stores raw pre-filter results, so filter/sort changes take effect immediately. The TMDBHelper player always runs a fresh search.

Stream resilience

These drive the background playback monitor.

Setting ID Default Description
Auto-retry on stream failure stream_auto_retry true Retry a failed stream automatically.
Max retry attempts stream_max_retries 3 How many times to retry. Clamped to 0–10.
Retry delay (seconds) stream_retry_delay 5 Wait between retries. Clamped to 1–300.

Fallback streams

See Fallback streams.

Setting ID Default Description
Enable fallback streams fallback_streams_enabled true Enable nzbdav / InfiniDysk proxy fallback or NZBGet duplicate-backup submission. StreamNZB ignores it.
Maximum standby fallback streams fallback_streams_max 5 nzbdav / InfiniDysk clamps the standby limit to 0–5. NZBGet honors the positive duplicate-backup count without that ceiling; 0 or less turns off its duplicate backups.
Seconds into playback before submitting fallback backups fallback_submit_delay 120 Delay before backups are submitted. 0 submits immediately.

Proxy

See Playback and remux and How it works → Stream proxy.

Setting ID Default Description
Convert MP4 subtitles to SRT proxy_convert_subs true During a Matroska remux, convert MP4 mov_text subtitles to SRT so embedded subtitles survive. The remux copies MKV subtitle tracks unchanged.
Force ffmpeg remux above (MB, 0=off) force_remux_threshold_mb 15000 Size at which the chosen remux mode applies to non-MP4 files. 0 turns size-based remux off, so those files always stream pass-through. No effect while the mode is Direct pass-through.
Large non-MP4 stream mode force_remux_mode 0 (Direct pass-through) 0 Direct pass-through (default, no ffmpeg), 1 fMP4 HLS (compatibility, experimental), 2 Matroska remux (compatibility).

Pass-through validation

Setting ID Default Description
Strict upstream contract mode strict_contract_mode 1 (Warn only) How to react when the upstream violates the strict Range/Content-Length contract: 0 Off, 1 Warn only, 2 Enforce. Off also disables the density breaker.
Enable density breaker density_breaker_enabled false Stop a stream when a rolling 16 MB window becomes more than 50% zero-fill (catches dead releases early). Only active when contract mode isn't Off.
Enable zero-fill budget zero_fill_budget_enabled true Cap total per-stream zero-fill; the stream ends with a clean error when the budget is hit. Zero fill skips data that can't be fetched from any source. For MKV/WebM the gap becomes EBML Void elements the player skips, resuming at the next intact cluster; other files, or MKV whose structure can't be confirmed, get plain zeros.
Enable retry ladder before skip probe retry_ladder_enabled true Re-issue the original range request with backoff on transient upstream errors before skip-filling.
Max seconds to wait for a slow/stalled backend before giving up (0=off) passthrough_stall_wait 120 For an established stream that stalls on a recoverable backend condition, hold the connection open up to this budget. 0 closes immediately. Clamped to 0–600.
Read-ahead buffer size in MB (keeps filling while paused; 0=off) readahead_buffer_mb 256 Per-session forward read-ahead prefetch. Keeps filling while paused. 0 turns it off. Clamped to 0–4096.
Send 200 for no-range pass-through send_200_no_range false Send 200 OK instead of 206 Partial Content when Kodi requests the whole file without a Range header. Leave off unless you've validated it on your build.

Hidden settings

These aren't shown in the UI but exist in settings.xml:

Setting ID Default Description
Content-root override webdav_content_root (empty → content) Power-user override for the nzbdav content-root path segment. Change only for a non-standard reverse-proxy mount.
(migration/UI-state flags) force_remux_mode_v2_migrated, cache_warning_shown, cache_dialog_dismissed false Internal state, not user-editable.