Advanced¶
These options tune the add-on resolver and proxy. They do not change StreamNZB server recovery, and the NZBGet completed file does not use the WebDAV proxy. Keep the defaults until you have a specific playback problem. nzbdav / InfiniDysk fallback uses strict donor validation before switching proxy sources. NZBGet also reads the shared fallback enable switch and backup count when submitting duplicate backups. EBML-aware concealment applies to MKV/WebM only when container boundaries are verified; it cannot reconstruct missing frames. Payload-only gaps or unverified structure can still receive plain zeros. See fallback streams and playback and remux.
Kodi screenshots¶



Captured on the OrbStack Kodi VM from commit db07f61. Debug overlays are off, and credentials use example values. Capture details.
Every option¶
Polling¶
| Option and setting ID | Default | What it does |
|---|---|---|
Poll interval (seconds)1poll_interval |
1 | Seconds between checks of the download's status. Clamped to 1-60. |
Download timeout (seconds)2download_timeout |
3600 | Give up waiting for the download to become ready after this many seconds. Clamped to 60-86400. |
NZB submit timeout (seconds)3submit_timeout |
300 | Max seconds to wait for nzbdav to accept the submitted NZB (it fetches and parses the NZB before replying). Clamped to 5-600. |
Clear download queue when starting a new download4clear_queue_on_submit |
Ask | For nzbdav / InfiniDysk only, choose whether to clear other in-progress downloads before starting a new one. This setting does not clear the NZBGet queue. Never clears this title's own in-flight job or a completed copy you're about to reuse. Choices: 0 = Ask, 1 = Always clear, 2 = Never. |
Search cache¶
| Option and setting ID | Default | What it does |
|---|---|---|
Cache duration (seconds, 0=disabled)5cache_ttl |
60 | Cache raw search results for this many seconds. 0 turns caching off; runtime values are clamped to 0–86400. Filter and sorting changes still apply to cached results. TMDBHelper playback requests a fresh search. |
Stream resilience¶
| Option and setting ID | Default | What it does |
|---|---|---|
Auto-retry on stream failure6stream_auto_retry |
On | Enable the local playback retry monitor. It retries failed playback from the recorded position when recovery information is available. StreamNZB does not start this monitor. |
Max retry attempts7stream_max_retries |
3 | Limit local playback retry attempts. Runtime values are clamped to 0–10. This does not configure StreamNZB server attempts. |
Retry delay (seconds)8stream_retry_delay |
5 | Wait this many seconds before a local playback retry. Runtime values are clamped to 1–300. This does not configure StreamNZB server delays. |
Fallback streams¶
| Option and setting ID | Default | What it does |
|---|---|---|
Enable fallback streams9fallback_streams_enabled |
On | For nzbdav / InfiniDysk, prepare validated proxy backup streams and try another source when the current source fails. For NZBGet, allow duplicate-backup NZB submission. This does not guarantee an uninterrupted switch and does not control StreamNZB. |
Maximum standby fallback streams10fallback_streams_max |
5 | For nzbdav / InfiniDysk, limit standby proxy streams per title; runtime values are clamped to 0–5. For NZBGet, limit submitted duplicate backups; positive values are honored without an additional ceiling of 5. A value of 0 or less turns off NZBGet duplicate backups. StreamNZB ignores this setting. |
Seconds into playback before submitting fallback backups11fallback_submit_delay |
120 | For nzbdav / InfiniDysk, wait this many seconds into playback before submitting proxy fallback backups. 0 submits immediately. This delay does not control NZBGet duplicate-backup submission or StreamNZB. |
Proxy¶
| Option and setting ID | Default | What it does |
|---|---|---|
Convert MP4 subtitles to SRT12proxy_convert_subs |
On | Convert MP4 mov_text subtitles to SRT during remux so embedded subtitles survive. |
Force ffmpeg remux above (MB, 0=off)13force_remux_threshold_mb |
15000 | For non-MP4 streams, apply the selected remux mode at or above this size in MB; an unknown length also triggers the selected remux mode when the threshold is positive. MP4/M4V uses a separate playback path and ignores this threshold. 0 turns off this size-triggered remux rule. |
Large non-MP4 stream mode14force_remux_mode |
Direct pass-through (default) | How to handle large non-MP4 streams: pass through directly, remux to fMP4/HLS, or remux to Matroska for compatibility. Choices: 0 = Direct pass-through (default), 1 = fMP4 HLS (compatibility, experimental), 2 = Matroska remux (compatibility). |
force_remux_mode_v2_migrated15force_remux_mode_v2_migrated |
Off | Hidden one-time migration flag for remux-mode settings. The add-on manages it; do not change it manually. Hidden from the settings dialog. |
Pass-through validation¶
| Option and setting ID | Default | What it does |
|---|---|---|
Strict upstream contract mode16strict_contract_mode |
Warn only | How to react when the upstream server violates the expected Range/Content-Length contract. Off also disables the density breaker below. Choices: 0 = Off, 1 = Warn only, 2 = Enforce. |
Enable density breaker17density_breaker_enabled |
Off | Stop a stream early if a rolling 16MB window becomes more than half zero-filled, which usually means a dead release. Only active when Strict upstream contract mode isn't Off. |
Enable zero-fill budget18zero_fill_budget_enabled |
On | Limit the total concealed missing data in a proxy stream. When the budget is exhausted, stop with an error. For validated MKV/WebM boundaries, the proxy can write correctly sized EBML Void elements while preserving byte offsets. Missing payload or unknown structure can still use plain zeros; no missing frames are reconstructed. |
Enable retry ladder before skip probe19retry_ladder_enabled |
On | Re-issue the original range request with backoff on transient upstream errors before falling back to skip-filling. |
Max seconds to wait for a slow/stalled backend before giving up (0=off)20passthrough_stall_wait |
120 | Max seconds to hold an established stream open through a recoverable backend stall before giving up. 0 closes immediately. Clamped to 0-600. |
Read-ahead buffer size in MB (keeps filling while paused; 0=off)21readahead_buffer_mb |
256 | Size in MB of the per-session forward read-ahead buffer. Keeps filling while paused. 0 disables it. Clamped to 0-4096. |
Send 200 for no-range pass-through22send_200_no_range |
Off | Send 200 OK instead of 206 Partial Content when Kodi requests the whole file without a Range header. Leave off unless validated on your build. |
cache_warning_shown23cache_warning_shown |
Off | Hidden state recording whether the cache warning has been shown. The add-on manages it. Hidden from the settings dialog. |
cache_dialog_dismissed24cache_dialog_dismissed |
Off | Hidden state recording dismissal of the cache dialog. The add-on manages it. Hidden from the settings dialog. |
webdav_content_root25webdav_content_root |
Empty | Hidden override for the WebDAV content-root path. Empty uses content. Use only when a reverse proxy or server exposes a different content root. Hidden from the settings dialog. |
Source notes¶
Labels and schema defaults are from commit db07f61. Runtime limits can differ from the editable schema; the explanations identify those limits. Links use the full commit ID, so later changes to main do not move them.
The NZBGet gate is implemented in the duplicate-backup limit reader. The non-MP4 decision is implemented in the force-remux selector; MP4 dispatch takes the separate path.