GithubHelp home page GithubHelp logo

Comments (4)

TheFrenchGhosty avatar TheFrenchGhosty commented on September 26, 2024

As discussed on Matrix, here is the log (I redacted the personal data):


[2020-08-24 00:33:32.375 +02:00] [INF] [73] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /path/to/YouTube/[VIDEO1].mkv
[2020-08-24 00:33:32.426 +02:00] [INF] [21] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find "/path/to/YouTube/[VIDEO1].mkv"
[2020-08-24 00:33:32.426 +02:00] [INF] [21] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: 7_5m98KW4Dc
[2020-08-24 00:33:32.426 +02:00] [INF] [21] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: In DownloadInfo
[2020-08-24 00:33:42.582 +02:00] [ERR] [21] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "YouTube Metadata"
The service youtube has thrown an exception: Google.GoogleApiException: Google.Apis.Requests.RequestError
YouTube Data API v3 has not been used in project [ID] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=[ID] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry. [403]
Errors [
	Message[YouTube Data API v3 has not been used in project [ID] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=[ID] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.] Location[ - ] Reason[accessNotConfigured] Domain[usageLimits]
]

   at Google.Apis.Requests.ClientServiceRequest`1.ParseResponse(HttpResponseMessage response)
   at Google.Apis.Requests.ClientServiceRequest`1.ExecuteAsync(CancellationToken cancellationToken)
   at Google.Apis.Requests.ClientServiceRequest`1.ExecuteAsync()
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.DownloadInfo(String youtubeId, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.GetMetadata(MovieInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[2020-08-24 00:33:42.790 +02:00] [INF] [21] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /path/to/YouTube/[VIDEO2].mkv
[2020-08-24 00:33:42.848 +02:00] [INF] [6] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find "/path/to/YouTube/[VIDEO2].mkv"
[2020-08-24 00:33:42.848 +02:00] [INF] [6] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: 3YFeE1eDlD0
[2020-08-24 00:33:42.848 +02:00] [INF] [6] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: In DownloadInfo
[2020-08-24 00:33:52.896 +02:00] [ERR] [32] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "YouTube Metadata"
The service youtube has thrown an exception: Google.GoogleApiException: Google.Apis.Requests.RequestError
YouTube Data API v3 has not been used in project [ID] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=[ID] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry. [403]
Errors [
	Message[YouTube Data API v3 has not been used in project [ID] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=[ID] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.] Location[ - ] Reason[accessNotConfigured] Domain[usageLimits]
]

   at Google.Apis.Requests.ClientServiceRequest`1.ParseResponse(HttpResponseMessage response)
   at Google.Apis.Requests.ClientServiceRequest`1.ExecuteAsync(CancellationToken cancellationToken)
   at Google.Apis.Requests.ClientServiceRequest`1.ExecuteAsync()
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.DownloadInfo(String youtubeId, CancellationToken cancellationToken)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.GetMetadata(MovieInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)

Edit: Okay, so I enabled the "YouTube Data API v3" that it complained about (I just followed the link https://console.developers.google.com/apis/api/youtube.googleapis.com/overview), but it's now complaining about something else:

[2020-08-24 01:17:58.845 +02:00] [INF] [60] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /path/to/YouTube/[VIDEO] [ID].mkv
[2020-08-24 01:17:58.893 +02:00] [INF] [75] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: [ID]
[2020-08-24 01:17:58.893 +02:00] [INF] [75] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: In DownloadInfo
[2020-08-24 01:18:09.011 +02:00] [INF] [60] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: [null]
[2020-08-24 01:18:09.011 +02:00] [INF] [60] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: Google.Apis.YouTube.v3.Data.Video
[2020-08-24 01:18:09.012 +02:00] [INF] [60] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find "/path/to/YouTube/[VIDEO] [ID].mkv"
[2020-08-24 01:18:09.040 +02:00] [INF] [45] Jellyfin.Plugin.PlaybackReporting.EventMonitorEntryPoint: Processing playback tracker : "[REDACTED]"

I thought it was maybe a permission issue, but it doesn't seem to be it, even with chmod 777, it's still complaining about "Could not find "/path/to/YouTube/[VIDEO] [ID].mkv"". - Does the addon need write access to the video?

However I noticed that it seems to be downloading the metadata of the files (Directors is now set to the youtube creator), but it doesn't seem to download images (they are however available through the "edit images" menu). I will edit again if something change, it seems to be really slow to parse the ~100 videos of the collection.

Edit 2:

Okay, so it added the metadata to every file, then seems to start downloading pictures for every videos:

[2020-08-24 01:35:01.698 +02:00] [INF] [42] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /path/to/YouTube/[VIDEO] [ID].mkv

But nothing more later, no pictures were added

Edit 3: A rescan of missing metadata (with replace existing picture) didn't change anything, the scan completed but nothing changed:

[2020-08-24 01:39:31.867 +02:00] [INF] [34] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshComplete "[ID]"

At least I got the metadata (the issue was the API that wasn't enabled), but yeah, pictures aren't downloaded.

from jellyfin-youtube-metadata-plugin.

ankenyr avatar ankenyr commented on September 26, 2024

The slowness is due to limits on the API. There are only so many requests you can do in a day and to prevent exceeding quota I put in a limiter.

For the latest stuff that looks to be downloading metadata but not images. Is it still saying a line like
Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find "/path/to/YouTube/[VIDEO] [ID].mkv"
There are two providers, one is remote and another is local. Local looks on the file system for an image with the same filename but with .jpg extension to provide the file. It is strange it is prefering that over the remote considering you provided it with an API key.

from jellyfin-youtube-metadata-plugin.

TheFrenchGhosty avatar TheFrenchGhosty commented on September 26, 2024

Okay, so I recreated a collection (I was using the existing one).

Properly configured it so that YouTubeMetadata is the only thing used for metadata and images, and well, new thing in the log (it's appearing for every video).

[2020-08-24 01:57:23.493 +02:00] [ERR] [37] MediaBrowser.Providers.Manager.ProviderManager: "YoutubeMetadataImageProvider" failed in GetImageInfos for type "Movie"
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.GetPathByTitle(String title)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider.GetYTID(String title)
   at Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataImageProvider.GetImages(BaseItem item, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetImages(BaseItem item, CancellationToken cancellationToken, IRemoteImageProvider provider, List`1 preferredLanguages, Nullable`1 type) in /home/[USERNAME]/.cache/yay/jellyfin/src/jellyfin-10.6.3/MediaBrowser.Providers/Manager/ProviderManager.cs:line 261

Okay, so about the stuff in .cache/yay/jellyfin, it's a weird issue.

In short: my Jellyfin is running on Arch, and I used the AUR package to install it, I then deleted the cache folder where it was build (yay/jellyfin), but for whatever reason Jellyfin is sometimes complaining that it's missing.

I will do some research about that, but in the meantime, do you think those deleted files are the issue?

from jellyfin-youtube-metadata-plugin.

TheFrenchGhosty avatar TheFrenchGhosty commented on September 26, 2024

Problem solved, this was because the AUR package jellyfin is broken https://aur.archlinux.org/packages/jellyfin/#comment-762260, I moved to the 2 binary packages provided by the jellyfin team and everything is working.

I opened a PR about the missing setup step #14 because that was the first issue.

Everything is perfectly working now!

from jellyfin-youtube-metadata-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.