Plugin for Jellyfin that retrieves metadata for content from Youtube.
info.json
files provided from yt-dlp or similar programs.info.json
files.jpg
or webp
format for both channel and videosYou 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.
sudo apt-get install 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 python3
FROM linuxserver/jellyfin:nightly
RUN apt-get update && apt-get install -y \
python3-pip
RUN python3 -m pip install -U yt-dlp
Admin Dashboard
.Plugins
.Repositories
.+
icon to add a new repository.Repository Name
can be anything.URL
must be https://raw.githubusercontent.com/ankenyr/jellyfin-plugin-repo/master/manifest.json
Catalog
.Metadata
section click on YoutubeMetadata
.Install
.YoutubeMetadata
with status as Active
<jellyfin data directory>/plugins/YoutubeMetadata
.YoutubeMetadata
with status as Active
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.json
3Blue1Brown - 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].mkv
3Blue1Brown - 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.
Admin Dashboard
.Libraries
.Manage library
.YoutubeMetadata
for each downloader or fetcher you wish to enable. In the image below you can see two enabled.
OK
.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.
dotnet publish --configuration Release --output bin
Create folder named YoutubeMetadata
in the plugins
directory inside your Jellyfin data
directory. You can find your directory by going to Dashboard, and noticing the Paths section.
Mine is the root folder of the default Metadata directory.
# mkdir <Jellyfin Data Directory>/plugins/YoutubeMetadata/
plugins/YoutubeMetadata
folder created in step 4.
# cp -r bin/*.dll <Jellyfin Data Directory>/plugins/YoutubeMetadata/`
jellyfin
user:
# chown -R jellyfin:jellyfin /var/lib/jellyfin/plugins/YoutubeMetadata/
Admin -> Dashboard -> Advanced -> Plugins
.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.