Comments (7)
from jellyfin-youtube-metadata-plugin.
if i dont raname with [ID numer].mp4 , plugin dont add metadata.
image is not added to library, is it becouse Jason dont have image info maybe?
question is: can i avoid to rename downloaded files with ID in name file everytime?
i think best logic is: ask Jason for ID, rename file with [ID], query youtube for updated metadata + image
or more best is ask Jason for ID and query youtube without need rename file.
rename file broken youtubedl-material db for example.
from jellyfin-youtube-metadata-plugin.
If your mp4 file and .json file have the same name without the extensions, it should get the metadata from the json file.
from jellyfin-youtube-metadata-plugin.
i dont know whats the problem is but it dont work for me
[2020-08-18 01:36:02.530 +02:00] [INF] [36] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshStart "20d817cb6cb1ce4d601f6f1f88e48405"
[2020-08-18 01:36:02.599 +02:00] [INF] [36] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4
[2020-08-18 01:36:02.685 +02:00] [INF] [27] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider:
[2020-08-18 01:36:02.685 +02:00] [INF] [27] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: Youtube ID not found in filename of title: Lewis Capaldi - Someone You Loved
[2020-08-18 01:36:02.687 +02:00] [INF] [27] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find "/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
[2020-08-18 01:36:02.756 +02:00] [ERR] [25] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
[2020-08-18 01:36:02.759 +02:00] [ERR] [25] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: "file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4""
System.Exception: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable1 imageStreamIndex, Nullable
1 threedFormat, Nullable1 offset, Boolean useIFrame, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String[] inputFiles, String container, MediaStream videoStream, Nullable
1 imageStreamIndex, MediaProtocol protocol, Boolean isAudio, Nullable1 threedFormat, Nullable
1 offset, CancellationToken cancellationToken)
[2020-08-18 01:36:02.842 +02:00] [ERR] [27] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
[2020-08-18 01:36:02.846 +02:00] [ERR] [27] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "Screen Grabber"
System.Exception: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable1 imageStreamIndex, Nullable
1 threedFormat, Nullable1 offset, Boolean useIFrame, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String[] inputFiles, String container, MediaStream videoStream, Nullable
1 imageStreamIndex, MediaProtocol protocol, Boolean isAudio, Nullable1 threedFormat, Nullable
1 offset, CancellationToken cancellationToken)
at MediaBrowser.Providers.MediaInfo.VideoImageProvider.GetVideoImage(Video item, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, LibraryOptions libraryOptions, ICollection`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)
[2020-08-18 01:36:02.930 +02:00] [INF] [27] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshComplete "20d817cb6cb1ce4d601f6f1f88e48405"
file names are how youtubedl-material use:
Lewis Capaldi - Someone You Loved.mp4
Lewis Capaldi - Someone You Loved.info.json
try rename Lewis Capaldi - Someone You Loved.info.json in Lewis Capaldi - Someone You Loved with no success same log
from jellyfin-youtube-metadata-plugin.
from jellyfin-youtube-metadata-plugin.
Excuse me if I insist
that error is becouse my ffmpeg in jellyfin cant manage av1 format , i dont know if is that the problem but, listen me please, and sorry again for this
if i rename files:
Lewis Capaldi - Someone You Loved.mp4
Lewis Capaldi - Someone You Loved
THIS DONT WORK
here the log:
[12:28:01] [INF] [103] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4
Unsupported codec with id 32797 for input stream 0
[12:28:01] [INF] [42] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider:
[12:28:01] [INF] [42] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: Youtube ID not found in filename of title: Lewis Capaldi - Someone You Loved
[12:28:01] [INF] [42] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find /data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4
[12:28:01] [ERR] [98] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
[12:28:01] [ERR] [98] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: I-frame image extraction failed, will attempt standard way. Input: file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
System.Exception: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable1 imageStreamIndex, Nullable
1 threedFormat, Nullable1 offset, Boolean useIFrame, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String[] inputFiles, String container, MediaStream videoStream, Nullable
1 imageStreamIndex, MediaProtocol protocol, Boolean isAudio, Nullable1 threedFormat, Nullable
1 offset, CancellationToken cancellationToken)
[12:28:01] [ERR] [98] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
[12:28:01] [ERR] [98] MediaBrowser.Providers.Movies.MovieMetadataService: Error in Screen Grabber
System.Exception: ffmpeg image extraction failed for file:"/data/video/Youtube/Lewis Capaldi - Someone You Loved.mp4"
at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImageInternal(String inputPath, String container, MediaStream videoStream, Nullable1 imageStreamIndex, Nullable
1 threedFormat, Nullable1 offset, Boolean useIFrame, CancellationToken cancellationToken) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.ExtractImage(String[] inputFiles, String container, MediaStream videoStream, Nullable
1 imageStreamIndex, MediaProtocol protocol, Boolean isAudio, Nullable1 threedFormat, Nullable
1 offset, CancellationToken cancellationToken)
at MediaBrowser.Providers.MediaInfo.VideoImageProvider.GetVideoImage(Video item, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ItemImageProvider.RefreshFromProvider(BaseItem item, IDynamicImageProvider provider, ImageRefreshOptions refreshOptions, TypeOptions savedOptions, LibraryOptions libraryOptions, ICollection`1 downloadedImages, RefreshResult result, CancellationToken cancellationToken)
but if i delete jason and rename file:
Lewis Capaldi - Someone You Loved [Jtauh8GcxBY].mp4
the log:
[12:33:07] [INF] [33] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /data/video/Youtube/Lewis Capaldi - Someone You Loved [Jtauh8GcxBY].mp4
[12:33:07] [INF] [33] MediaBrowser.Providers.Manager.ProviderManager: OnRefreshComplete 20d817cb6cb1ce4d601f6f1f88e48405
[12:33:07] [INF] [33] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /data/video/Youtube/Lewis Capaldi - Someone You Loved [Jtauh8GcxBY].mp4
[12:33:15] [INF] [59] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /data/video/Youtube/Lewis Capaldi - Someone You Loved [Jtauh8GcxBY].mp4
Unsupported codec with id 32797 for input stream 0
[12:33:15] [INF] [66] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: Jtauh8GcxBY
[12:33:15] [INF] [66] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: [null]
[12:33:15] [INF] [66] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeMetadataProvider: Google.Apis.YouTube.v3.Data.Video
[12:33:15] [INF] [66] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalProvider: Could not find /data/video/Youtube/Lewis Capaldi - Someone You Loved [Jtauh8GcxBY].mp4
and this one finally work. metadata + image is grabbed from Youtube
dont know if this can help u, but i dont think image grabber error mean somethings. u know, u are the hero :)
edit: i have new info.
if i use plugin with a supported video file i got this log:
[13:31:26] [INF] [71] Jellyfin.Plugin.YoutubeMetadata.Providers.YoutubeLocalImageProvider: /data/video/Youtube/Marco Mengoni - Ti ho voluto bene veramente (Videoclip).mp4
metadata are OK but file image is not the youtube official, i think its a frame grabbed from video
if i understand something, your plugin, if found jason , grab a image from video file and metaddata from jason, if file video is unsupported got a lots errors and dont work while, if jason is missing and u put ID on file name, grab metadata and good image from youtube without problems.
can we use this logic:
if jason present pick id and grab all from youtube and let this image from video grab process for who dont want to use the api key?
i think u use grab image from video for discard use of api key.
from jellyfin-youtube-metadata-plugin.
The image being extracted is due to an image not being found for the youtube plugin. The providers (things that grab metadata) are setup as either local or remote providers. Local being grabbing information from files local to the server (NFO, JSON , etc) or remote in that they use an API.
Providers also, I believe, run in a loop where all applicable providers are run, with their level of priority, until all metadata is filled or it gets to the end.
In this case the local metadata provider is being run and it gets to the youtube plugin. It will look for the JSON file. Inside the json file it contains metadata pertaining to the video. It will also look for a file with the same name but ending in jpg and use that for the image.
Having the local metadata provider end up doing remote actions would break convention.
There are a couple of ways forward here.
- wait for #6 and you can tell jellyfin to use a specific ID for a file to ID it. This will help for one offs but if your entire library is not working this won't scale
- Fix your library by including the ID. For your downloaded files this could be done with a script and for future videos you can refer to the output template documentation from youtube-dl https://github.com/ytdl-org/youtube-dl#output-template
from jellyfin-youtube-metadata-plugin.
Related Issues (20)
- With Windows HOT 3
- cant figure out the yt-dlp arguments required for the plugin HOT 1
- update for new version of jellyfin 10.9.0 HOT 21
- Additional filenaming conventions HOT 1
- Failed to load assembly `codecoveragemessages.dll` after updating to 1.0.3.10 HOT 9
- Plugin seems to break Jellyfins Scan Media Library HOT 4
- Configuration page is broken HOT 1
- Newlines in description, and refresh metadata on whole library always failing immediately HOT 2
- Thumbnails all the same HOT 8
- "youtube-dl not found on path" HOT 1
- Is this plugin dead? HOT 8
- Directory structuring and webp thumbnail issues HOT 4
- Problem with release date and release year of music
- Failed to deserialize the plugin manifest HOT 2
- Release date and other fields not being read from metadata HOT 3
- Installation troubles HOT 1
- How should I organize my videos for this? HOT 3
- Can't uninstall youtubemetadata HOT 1
- Readme say to use yt-dlp yet logs complain about youtube-dl HOT 1
- 'Could not find file X.info.json' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jellyfin-youtube-metadata-plugin.