This repository contains a plugin for yt-dlp. See yt-dlp plugins for more details.
The plugin adds native support for Invidious and allows youtube downloads to fallback to Invidious on the error 'Sign in to confirm you’re not a bot. This helps protect our community. Learn more'.
The code is based on https://github.com/ytdl-org/youtube-dl/pull/31426.
Requires yt-dlp 2023.01.02
or above.
If yt-dlp is installed through pip
or pipx
, you can install the plugin with the following:
pipx inject yt-dlp yt-dlp-invidious
or
python3 -m pip install -U yt-dlp-invidious
Download the latest release zip from releases
Add the zip to one of the yt-dlp plugin locations
User Plugins
${XDG_CONFIG_HOME}/yt-dlp/plugins
(recommended on Linux/MacOS)~/.yt-dlp/plugins/
${APPDATA}/yt-dlp/plugins/
(recommended on Windows)System Plugins
/etc/yt-dlp/plugins/
/etc/yt-dlp-plugins/
Executable location
<root-dir>/yt-dlp.exe
, <root-dir>/yt-dlp-plugins/
For more locations and methods, see installing yt-dlp plugins
Just use yt-dlp as normal, the plugin will automatically fall back to invidious when YoutubeIE or YoutubePlaylistIE reported 'Sign in to confirm you’re not a bot. This helps protect our community. Learn more'.
Pass --ies "Invidious,InvidiousPlaylist,default,-youtube,-youtubeplaylist"
to yt-dlp. The plugin automatically matches the video id/playlist id so you can just pass a YouTube link or even just a video id/playlist id. For a single video id, use invidious:<id>
instead of <id>
to force yt-dlp to use Invidious.
See EXTRACTOR ARGUMENTS.
InvidiousIE
:
max_retries
: maxium retry times. (default: 5)--extractor-args "Invidious:max_retries=infinite"
(unrecommended),--extractor-args "Invidious:max_retries=3"
.retry_interval
: interval between retries (in seconds). (default: 5)--extractor-args "Invidious:retry_interval=3.45"