This plugin adds the metadata provider for TubeArchivist, offering improved flexibility and native integration with Jellyfin compared to previous solutions.
## 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.This plugin requires that you have already an instance of TubeArchivist up and running.
Once installed, you have to configure the following parameters in the plugin configuration:Using the plugin is very simple. Let's start from the beginning:
_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._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.
#### Jellyfin -> TubeArchivist playback synchronizationThis kind of synchronization is done listening for progress and watched status changes while playing the videos for the specified users.
Furthermore, there is a task that runs at Jellyfin startup to synchronize the whole library.
In the text field you can specify one Jellyfin username to synchronize data of to TubeArchivist.
#### TubeArchivist -> Jellyfin playback synchronizationThis kind of synchronization is done using a Jellyfin scheduled task that regularly synchronizes data from TubeArchivist API to Jellyfin.
In the text field you can specify one or more Jellyfin usernames to update data for.
### Playlists synchronizationStarting from v.1.4.1 this plugin offers playlists bidirectional synchronization, but you can choose to enable only a one way synchronization (Jellyfin -> TubeArchivist or TubeArchivist -> Jellyfin) too.
#### Jellyfin -> TubeArchivist playlists synchronizationThere is a task that retrieves playlists and recreates them on TubeArchivist with the videos in the same order. Please note that playlists can also have videos not beloging from TubeArchivist, they will be simply ignored, so you won't find them on TubeArchivist playlist.
It is present also a setting to automatically delete playlists from TubeArchivist when they are no more available on Jellyfin.
#### TubeArchivist -> Jellyfin playlists synchronizationThere is a task that retrieves playlists from TubeArchivist and recreates them on Jellyfin with videos in the same order.
It is present, also in this case, a setting to automatically delete playlists from Jellyfin when they are no more present on TubeArchivist, but beware that the will be deleted also if they contain videos not beloning to TubeArchivist.
> [!CAUTION] > Pay attention when you enable the automatic deletion options, be sure that is your wanted behavior, especially when playlists contain also other videos not belonging from TubeArchivist, playlists removed won't be available again, there's no undo! ## Tasks intervalsSince many of the feature are implemented as background tasks periodically executing, in the `Tasks intervals` section you will find the settings to adjust this period in seconds.
Keep in mind that Jellyfin lowest accepted period is of 1 minute (60 seconds) and the lower is the interval the higher will be the resources consuption on your system.
Here are the configurable intervals:
 ## Build 1. To build this plugin you will need [.Net 9.x](https://dotnet.microsoft.com/download/dotnet/9.0). 2. Build plugin with following command ``` $ dotnet publish Jellyfin.Plugin.TubeArchivistMetadata --configuration Release --output bin ``` 3. 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](./LICENSE) for more information.