Awesome
<h1 align="center">Jellyfin TubeArchivist Plugin</h1> <p align="center"> <img alt="Plugin Banner" src="https://raw.githubusercontent.com/tubearchivist/tubearchivist-jf-plugin/master/images/logo.png"/> <br/> </p>[!IMPORTANT] Jellyfin 10.9.1 has been finally released and since starting with the version 1.3.0 the plugin supports only the latest Jellyfin release, in order to continue using this plugin with all the latest features you will need to upgrade your Jellyfin installation.
About
<p>This plugin adds the metadata provider for <a href="https://www.tubearchivist.com/">TubeArchivist</a>, offering improved flexibility and native integration with Jellyfin compared to previous solutions.</p>How it works
The media organization is a Shows
collection, where each channel is a show and its videos are the episodes, organized in seasons by year.<br>
The plugin interacts with TubeArchivist APIs to fetch videos and channels metadata.
Features
- Add metadata for videos (episodes)
- Add metadata for channels (shows)
- Add images for videos (episodes), ie. thumb images
- Add images for channels (shows), ie. thumb, tvart and banner images
- Organize videos (episodes) by year (seasons)
Installation
From official repository (recommended)
- Go to
Dashboard -> Plugins
and select theRepositories
tab - Add a new repository with the following details:
- Repository name:
TubeArchivistMetadata
- Repository URL:
https://github.com/tubearchivist/tubearchivist-jf-plugin/raw/master/manifest.json
- Go to the
Catalog
tab - Find
TubeArchivistMetadata
in theMetadata
section and install it - Restart Jellyfin to apply the changes
From ZIP in GitHub releases
- Download the latest available release (
tubearchivistmetadata_*.zip
) from the repository releases section - Extract the contained files in the
plugins/TubeArchivistMetadata
folder (you might need to create the folders) of your Jellyfin installation - Restart Jellyfin to apply the changes
Configuration
<p>This plugin requires that you have already an instance of TubeArchivist up and running.</p> Once installed, you have to configure the following parameters in the plugin configuration: <ul> <li>Collection display name</li> <li>TubeArchivist instance address</li> <li>TubeArchivist API key</li> <li>Overviews length (channels and videos descriptions)</li> <li>Playback synchronization settings discussed in the <a href="#playback-synchronization">Playback synchronization</a> paragraph</li> </ul>Use the plugin
<p>Using the plugin is very simple. Let's start from the beginning:</p>NOTE: If you are using Docker containers, it is important to mount the TubeArchivist media path into Jellyfin container as read-only, in order to avoid possible operations on the media files that will break TubeArchivist. <br>
-
Go to
Dashboard -> Libraries
and add a media library -
In the form select
Shows
as Content type, set a display name for the library and set the TubeArchivist media folder in theFolders
section -
Scrolling down, uncheck all metadata and image providers except
TubeArchivist
. (You won't find TubeArchivist in seasons providers, so just disable everything there) -
Save and come back to Home, you will see the newly added library. Jellyfin will have executed the metadata fetching for you after the collection creation and then you will see the metadata and the images of channels and videos
Playback synchronization
<p>Starting from v1.3.1 this plugin offers playback progress and watched status bidirectional synchronization, but you can choose to enable only a one way synchronization (Jellyfin->TubeArchivist or TubeArchivist->Jellyfin) too.</p>Jellyfin->TubeArchivist synchronization
<p>This kind of synchronization is done listening for progress and watched status changes while playing the videos for the specified users.<br>Furthermore, there is a task that runs at Jellyfin startup to synchronize the whole library.</p> <p>In the plugin configuration you will find these settings:</p> <p>In the text field you can specify one Jellyfin username to synchronize data of to TubeArchivist.</p>TubeArchivist->Jellyfin synchronization
<p>This kind of synchronization is done using a Jellyfin scheduled task that regularly synchronizes data from TubeArchivist API to Jellyfin.</p> <p>In the plugin configuration you will find these settings:</p> <p>In the first text field you can specify one or more Jellyfin usernames to update data for.<br> In the second field you can specify the interval in seconds the task should run at, so that you can choose according to your system requirements. The lower is the interval the higher will be the resources consuption on your system.</p>Build
-
To build this plugin you will need .Net 8.x.
-
Build plugin with following command
$ dotnet publish Jellyfin.Plugin.TubeArchivistMetadata --configuration Release --output bin
- Place the dll-file in the
plugins/tubearchivist-jf-plugin
folder (you might need to create the folders) of your Jellyfin installation
License
This plugins code and packages are distributed under the GPLv3 License. See LICENSE for more information.