NOTE:
Since version 2023.01.06 yt-dlp natively supports plugins from python packages. The listed plugins will be soon updated and dependency to this package will be removed.
For further details see https://github.com/yt-dlp/yt-dlp#plugins
ytdlp-plugins
extends the possibilities of yt-dlp by allowing to install new extractors from python packages that are not part of yt-dlp.
The following plugin packages are currently available:
- ytdlp-auf1
- ytdlp-bittube (service is inoperative)
- ytdlp-brighteon
- ytdlp-dtube
- ytdlp-servustv
- ytdlp-youmaker
You can install ytdlp-plugins via pip:
-
Use PyPI package:
python3 -m pip install --upgrade ytdlp-plugins
-
Install from GitHub branch:
python3 -m pip install -U https://github.com/flashdagger/ytdlp-plugins/archive/refs/heads/master.zip
Note that on some systems, you may need to use py
or python
instead of python3
On the command-line line simply use ytdlp-plugins
executable instead yt-dlp
.
This enables all plugins and forwards all parameters to yt-dlp.
You will get a detailed overview of installed plugins by running in verbose mode:
ytdlp-plugins -v
import ytdlp_plugins
from yt_dlp import YoutubeDL
# add found plugin extractors to yt-dlp
ytdlp_plugins.add_plugins()
URLS = ['https://www.servustv.com/allgemein/p/jetzt-live/119753/']
with YoutubeDL() as ydl:
ydl.download(URLS)
For more details see embedding yt-dlp
You can run the extractor unittests on all installed plugins:
python3 -m unittest ytdlp_plugins.test_download
or with pytest
pytest --pyargs ytdlp_plugins.test_download
Want to create your own extractor package or simply apply a patch to an existing (internal) yt-dlp extractor? Awesome. Just check out the minimal branch and follow the instructions in the provided README.md:
git clone https://github.com/flashdagger/ytdlp-plugins.git --branch minimal
yt-dlp is a youtube-dl fork based on the now inactive youtube-dlc. The main focus of this project is adding new features and patches while also keeping up to date with the original project
Note that all plugins are imported even if not invoked, and that there are no checks performed on plugin code. Use plugins at your own risk and only if you trust the code