Plugin for Jellyfin that retrieves metadata for content from Youtube.
- Local provider uses the
info.jsonfiles provided from yt-dlp or similar programs. - Remote provider uses yt-dlp to download
info.jsonfiles. - Supports thumbnails of
jpgorwebpformat for both channel and videos - Supports the following library types
- Movies
- Music Videos
- Shows
- Supports ExternalID providing quick links to source of metadata.
- yt-dlp is required if you are using the remote provider.
You are required to have yt-dlp available on the system or container Jellyfin is running on. The following are examples of how you could do this depending on your setup and are not to be considered an exhaustive list.
APT: sudo apt-get install yt-dlp
Nix package manager: also called yt-dlp
docker exec -it -u root jellyfin bash
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /bin/yt-dlp
chmod a+rx /bin/yt-dlp
apt update && apt install --no-install-recommends --no-install-suggests python3FROM linuxserver/jellyfin:nightly
RUN apt-get update && apt-get install -y \
python3-pip
RUN python3 -m pip install -U yt-dlp- Go to the
Admin Dashboard. - In the left navigation menu, click on
Plugins. - In the top menu, click
Repositories. - Click the
+icon to add a new repository. Repository Namecan be anything.URLmust behttps://raw.githubusercontent.com/ankenyr/jellyfin-plugin-repo/master/manifest.json- If done correctly you should see a new repository on the page.
- In the top menu, navigate to
Catalog. - Under the
Metadatasection click onYoutubeMetadata. - Click
Install. - Restart Jellyfin.
- On the left navigation menu, click on Plugins.
- If successful, you will see
YoutubeMetadatawith status asActive
- Navigate to the releases page.
- Download the latest zip file.
- Unzip contents into
<jellyfin data directory>/plugins/YoutubeMetadata. - Restart Jellyfin.
- On the left navigation menu, click on Plugins.
- If successful, you will see
YoutubeMetadatawith status asActive
All media needs to have the ID embeded in the file name within square brackets. The following are valid examples of a channel and video.
3Blue1Brown - NA - 3Blue1Brown_-_Videos [UCYO_jab_esuFRV4b17AJtAw].info.json3Blue1Brown - 20211023 - A_few_of_the_best_math_explainers_from_this_summer [F3Qixy-r_rQ].mkv
info.json and image files need to have the same file name as the media file. As an example, this would cause a breakage
3Blue1Brown - 20211023 - A_few_of_the_best_math_explainers_from_this_summer [F3Qixy-r_rQ].mkv3Blue1Brown - 20211023 [F3Qixy-r_rQ].info.json
The proper naming format is the default when using yt-dlp and is also enforced in TheFrenchGhosty's Ultimate YouTube-DL Scripts Collection which I highly recommend.
- Navigate to your
Admin Dashboard. - On the left navigation menu, click
Libraries. - Click on
for a supported library type. - Click
Manage library. - Click the checkbox next to
YoutubeMetadatafor each downloader or fetcher you wish to enable. In the image below you can see two enabled.
- Click
OK. - Click
Scan All Libraries.
Warning your cookie grants access to accounts the cookie is granted for. Please protect this file if you decide to use it.
Placing a file named cookies.txt into the <jellyfin data directory>/plugins/YoutubeMetadata plugin directory will enable YT-DLP to start using your cookie.
For building from source, contributing and release details see CONTRIBUTING.md.
If this plugin helps you, please consider a donation! You can use my ko-fi link. If you would rather donate in some way not supported yet, let me know how you would like to donate.