Skip to content

description: Reference for every SendToKodi setting in Kodi: auto-download, JavaScript runtime (Deno, QuickJS), yt-dlp release channel and updates, yt-dlp config file, adaptive streaming, DASH builder, stream selection and maximum resolution.

Settings

Open the settings in Kodi via Add-ons → My add-ons → Video add-ons → SendToKodi → Configure, or by opening the add-on from Add-ons → Video add-ons. Some settings are only visible at Kodi's Advanced or Expert settings level (the button at the bottom left of the dialog); the tables say which.

General

Setting Default What it does
Auto-download resolved media before playback off Downloads the media file to disk first and plays the local file afterwards. For unstable connections, expiring streams or keeping a copy. A playlist is downloaded video by video as it plays. See Downloading instead of streaming.
Media download path (Advanced) special://profile/addon_data/plugin.video.sendtokodi/downloads Folder for the downloaded files. Any Kodi path works, including network shares. Only shown when auto-download is on.
Enable legacy Python embed workarounds (Expert) off Compatibility patch for a stderr quirk of Kodi's embedded Python on some old builds. Keep it off unless a traceback in the log mentions isatty.

JavaScript Runtime

YouTube and a few other sites protect their streams with JavaScript challenges. yt-dlp solves them with an external JavaScript runtime; without one, YouTube playback fails. The add-on manages Deno for this and can use QuickJS as a lighter alternative.

Setting Default What it does
JavaScript runtime mode auto auto: Deno where available, QuickJS on ARMv7 devices when a QuickJS path is set. deno: always Deno. quickjs: always the QuickJS binary from the path below. disabled: no JavaScript runtime; YouTube will not play.
QuickJS binary path (Advanced) empty Path to a qjs executable. Only shown in quickjs mode. Needed on ARMv7 devices (Raspberry Pi 2 and 3 with a 32-bit OS), for which Deno has no build. See ARMv7 devices.
Auto-update Deno JavaScript runtime on Downloads Deno when missing and checks for new releases every six hours.
Installed Deno version Read-only display of the installed version.
Manage Deno version Opens a list of the latest 20 Deno releases plus the versions already installed. Choose one to install or activate it; installed versions can be deleted from the same list. Up to three installed versions are kept.
Update Deno now Checks for the latest release and installs it immediately.

yt-dlp

yt-dlp does the actual resolving. It changes often, because websites change often, so the add-on keeps its own copy and updates it independently of add-on releases.

Setting Default What it does
yt-dlp release channel Stable Stable uses the official yt-dlp releases. Nightly uses the nightly builds of yt-dlp's master branch, which often contain site fixes (for YouTube in particular) weeks before the next stable release. System uses a yt-dlp that is already importable by Kodi's Python, for example a distribution package, and downloads nothing. A channel switch takes effect with the next download; until then Installed yt-dlp version keeps showing the version in use.
Auto-update yt-dlp on Downloads yt-dlp when missing and checks for new releases of the chosen channel every six hours. When off, the add-on asks once per day whether to download a missing yt-dlp.
Installed yt-dlp version Read-only display of the version in use. For the System channel this is the version Kodi's Python imports.
Manage yt-dlp version Opens a list of the latest 20 releases of the chosen channel plus the installed versions. Choose one to install or activate it; installed versions can be deleted. Up to three installed versions are kept, so you can go back to an older one when a new release breaks a site.
Update yt-dlp now Checks for the latest release of the chosen channel and installs it immediately.
yt-dlp config file empty Optional path to a yt-dlp configuration file, in yt-dlp's own format: one command line option per line, for example --cookies, --extractor-args or --socket-timeout. Only the options set in this file are applied; yt-dlp's default config locations are not read. Files on network sources (smb://, nfs://) are copied locally before loading. See Using a yt-dlp config file.

System channel

With System, the package and its dependencies must be importable by Kodi's Python, otherwise the add-on reports that yt-dlp is unavailable. This mode is meant for platforms that package yt-dlp themselves; on a normal Kodi installation, stay on Stable or Nightly.

Using a yt-dlp config file

Anything you would pass to yt-dlp on the command line can go into the config file. Common uses:

# Log in to sites that require it, with cookies exported from your browser
--cookies /storage/.kodi/userdata/addon_data/plugin.video.sendtokodi/cookies.txt

# Prefer a different YouTube client
--extractor-args "youtube:player_client=tv"

# Tolerate slow sites
--socket-timeout 30

# Use a proxy
--proxy socks5://127.0.0.1:1080

Cookies are the usual answer to Sign in to confirm you're not a bot, age-restricted and members-only videos; the yt-dlp wiki explains how to export them. Options that control downloading (output templates, post-processors) only matter when auto-download is on. The file is re-read on every playback, so changes apply immediately. An invalid option shows Could not load yt-dlp config and the details are in Kodi's log.

Adaptive

Settings for adaptive streaming through InputStream Adaptive (ISA), which handles DASH and HLS streams with quality switching.

Setting Default What it does
Check if my Kodi supports adaptive streaming Runs the InputStream Helper check, which shows whether ISA is installed and enabled and installs it if possible.
Use original manifest (experimental) on Hands the site's own DASH or HLS manifest to ISA when yt-dlp reports one. When off, the add-on prefers direct stream URLs or its own DASH manifest.
Use DASH manifest builder (kodi 19+ only) (experimental) on Builds a DASH manifest from the separate video and audio streams a site offers (YouTube serves its high resolutions only this way) and serves it to ISA from a local HTTP server. When off, only formats that already contain video and audio together play, which on YouTube means 720p at most. See The DASH manifest builder.
DASH MPD server idle timeout (seconds) 120 After this many seconds without a request, the next request for the generated manifest regenerates it with fresh stream URLs. 10 to 600 seconds. Only shown when the DASH builder is on.
Ask which stream to play off Shows a list of all formats yt-dlp found before every playback and plays the one you choose. See Stream selection.
Audio-only HLS: disable Opus for native m3u streams on Skips Opus audio in audio-only HLS streams that Kodi plays natively (without ISA), which Kodi's HLS demuxer cannot handle. Turn off only if an audio stream has no other codec.
Maximum resolution 1920x1080 (FHD) Caps the width of the video stream the add-on selects or puts into its DASH manifest: 8K, 4K, 2K, Full HD, HD or SD. Adaptive (auto quality) removes the cap and leaves the choice to ISA, which adapts to the bandwidth.