ankenyr / jellyfin-youtube-metadata-plugin

Youtube Metadata Plugin for Jellyfin
GNU Affero General Public License v3.0
520 stars 33 forks source link

[Feature Request] - Support other ID's from youtube-dlp #39

Closed NotExpectedYet closed 2 years ago

NotExpectedYet commented 2 years ago

Dunno how feasible this is as I'm not sure how youtube-dlp requests the meta data. My info.json files from these channels seems to have at least title and a description, and I do get an image.

I'd provide more but I've only happened to grab channels from one other source.

Also... I don't know C# but this code looked relatively easy to change, if it's just the regex that needs sorting, so no trouble in me submitting a PR.

Odysey ID: f59986710f2f085c28a7127d3203ef64bf28b04f

If it means supporting each individual site then don't personally think it's worth it considering the name of the plugin.

ankenyr commented 2 years ago

Is there anything in the info.json that identifies it as from Odyssey? Or is the I'd field just that long ID?

On Sat, Jan 15, 2022, 4:39 AM James Mackay @.***> wrote:

Dunno how feasible this is as I'm not sure how youtube-dlp requests the meta data. My info.json files from these channels seems to have at least title and a description, and I do get an image.

I'd provide more but I've only happened to grab channels from one other source.

Odysey ID: f59986710f2f085c28a7127d3203ef64bf28b04f

— Reply to this email directly, view it on GitHub https://github.com/ankenyr/jellyfin-youtube-metadata-plugin/issues/39, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYWLQHFXT5ZLH5MJNVTY3UWFTHLANCNFSM5MA6LJPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: @.***>

NotExpectedYet commented 2 years ago

For the ones I've got "webpage_url_domain": "odysee.com" that key value pair exist in the json.

90900d00e95f4e26bf7b262c8a4332d4692c214c 2c21bac6abb0e08b59d16ef9e9bf5efa4f10dad6 bf7cf385009c9f9d6db3f39e42646629ccf25b7f

Some others I have

ankenyr commented 2 years ago

Interesting, are there any other differences? Do you see that same field in your YouTube content?

On Sat, Jan 15, 2022, 9:01 AM James Mackay @.***> wrote:

For the ones I've got "webpage_url_domain": "odysee.com" that key value pair exist in the json.

— Reply to this email directly, view it on GitHub https://github.com/ankenyr/jellyfin-youtube-metadata-plugin/issues/39#issuecomment-1013716648, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYWLXR75XJ4LSPM3MA2Q3UWGSAJANCNFSM5MA6LJPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.***>

ankenyr commented 2 years ago

Also unsure what Odyssey is, is it free to access? Can you send me a link to see if that field is populated by default? If bot, can you determine if that field is provided by default?

If so, I am wondering if that field is populated.for.anytging that isn't YouTube. Will need to investigate next week. This weekend will be a bit busy.

On Sat, Jan 15, 2022, 9:14 AM Robert Ankeny @.***> wrote:

Interesting, are there any other differences? Do you see that same field in your YouTube content?

On Sat, Jan 15, 2022, 9:01 AM James Mackay @.***> wrote:

For the ones I've got "webpage_url_domain": "odysee.com" that key value pair exist in the json.

— Reply to this email directly, view it on GitHub https://github.com/ankenyr/jellyfin-youtube-metadata-plugin/issues/39#issuecomment-1013716648, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALYWLXR75XJ4LSPM3MA2Q3UWGSAJANCNFSM5MA6LJPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you commented.Message ID: @.*** com>

NotExpectedYet commented 2 years ago

Interesting, are there any other differences? Do you see that same field in your YouTube content?

Yeah they're a hell of a lot smaller compared. There's no channel stuff either it's all registered as playlists from what I saw. I've pasted a sample below. Trying to find one that's not so controversial as that's generally why they're on Odysee aha.

Also unsure what Odyssey is, is it free to access? Can you send me a link to see if that field is populated by default? If bot, can you determine if that field is provided by default?

It's free to Access, it rose in reaction to Youtube taking people off their platform before 2020 sometime. Some of the old channels I was archiving had got removed and ended up moving there.

The URLS are quite weird as well, don't often see ":" used in them.

https://odysee.com/@NewsReal:1 - That's a channel example and what I put into yt-dlp. https://odysee.com/@NewsReal:1/Kazakhstan_Crisis_Russia_sanctions_Economic_Collapse:2 - That's a video URL, which doesn't even contain the ID as I've just realised. huh...

I can have a play sometime myself next week, there's some others not that I use them myself. I was shocked at how much youtube-dlp actually supports.

{"thumbnail": "https://thumbnails.lbry.com/kqBx4OeKwE4", "description": "In November of 2016, the Fluoride Action Network (FAN), together with it's partners Food & Water Watch, Organic Consumers Association, American Academy of Environmental Medicine, International Academy of Oral Medicine and Toxicology, Moms Against Fluoridation and several individuals, filed a petition against the Environmental Protection Agency on the grounds that a large body of research demonstrates fluoride is neurotoxic at doses within the range now seen in fluoridated communities. The EPA denied their petition in 2017.\n\nIn response, FAN and its coalition partners filed a lawsuit in the U.S. District Court for the Northern District of California, legally challenging the EPA's denial of their petition. The results of this trial have been publicized recently, and they are surprisingly good news!\n\nJoin us on this episode of Objective:Health as we review the results of the trial and talk about the case against water fluoridation. \n\nFor other health-related news and more, you can find us on:\n\n\u2665Twitter: https://twitter.com/objecthealth\n\u2665Facebook: https://www.facebook.com/objecthealth/\n\u2665Brighteon: https://www.brighteon.com/channel/objectivehealth\n\u2665LBRY: https://lbry.tv/@objectivehealth:f\n\nAnd you can check out all of our previous shows (pre YouTube) here: \n\n\u2665https://docs.google.com/spreadsheets/d/16H-nK-N0ANdsA5JFTT12_HU5nUYRVS9YcQh331dG2MI/edit?usp=sharing\n\n********\n\nThe information presented on this show is not intended to replace a qualified health care professional and is not intended as medical advice. \n\nThe intent is to share knowledge and information we encounter during our research and encourage you to do the same!\n...\nhttps://www.youtube.com/watch?v=kqBx4OeKwE4", "license": "Copyrighted (contact publisher)", "timestamp": 1602006720, "release_timestamp": 1602001802, "tags": ["floride", "flouride", "fluoride action network", "fluoride trial"], "duration": 1873, "channel": "Objective: Health", "channel_id": "f95bba475eb26317d2b61376d642da98ff9ad29e", "channel_url": "https://odysee.com/@objectivehealth:f95bba475eb26317d2b61376d642da98ff9ad29e", "ext": "mp4", "filesize": 289009806, "width": 1920, "height": 1080, "url": "https://cdn.lbryplayer.xyz/api/v4/streams/free/f-luoride-on-trial/621770cfa8f4527e55f380f2067d061abcde3942/7c894c", "id": "621770cfa8f4527e55f380f2067d061abcde3942", "title": "F\u200cluoride on Trial", "is_live": false, "http_headers": {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept-Encoding": "gzip, deflate", "Accept-Language": "en-us,en;q=0.5"}, "webpage_url": "https://odysee.com/f-luoride-on-trial:621770cfa8f4527e55f380f2067d061abcde3942", "webpage_url_basename": "f-luoride-on-trial:621770cfa8f4527e55f380f2067d061abcde3942", "webpage_url_domain": "odysee.com", "extractor": "lbry", "extractor_key": "LBRY", "n_entries": 132, "playlist_index": 58, "playlist": "Objective: Health", "playlist_id": "f95bba475eb26317d2b61376d642da98ff9ad29e", "playlist_title": "Objective: Health", "thumbnails": [{"url": "https://thumbnails.lbry.com/kqBx4OeKwE4", "id": "0"}], "display_id": "621770cfa8f4527e55f380f2067d061abcde3942", "duration_string": "31:13", "upload_date": "20201006", "release_date": "20201006", "format_id": "0", "format": "0 - 1920x1080", "protocol": "https", "resolution": "1920x1080", "dynamic_range": "SDR", "fulltitle": "F\u200cluoride on Trial", "epoch": 1641954364}
ankenyr commented 2 years ago

The information needs to be pulled from the file name and currently there are only IDs and nothing about the ID tells you where you pulled it from. The info.json file can give that but the remote provider assumes there is no info.json. Providing the ability to customize the regular expression also opens up a security problem as a regular expression can be crafted to crash a server. I am also not a fan of one offs so hard coding a RE for specific sites would not be great, there could be overlap and then we just kicked the can down the road.

Unless there are others who wish for other sites and we have a solution I don't think I will be adding this feature.

NotExpectedYet commented 2 years ago

The information needs to be pulled from the file name and currently there are only IDs and nothing about the ID tells you where you pulled it from. The info.json file can give that but the remote provider assumes there is no info.json. Providing the ability to customize the regular expression also opens up a security problem as a regular expression can be crafted to crash a server. I am also not a fan of one offs so hard coding a RE for specific sites would not be great, there could be overlap and then we just kicked the can down the road.

Unless there are others who wish for other sites and we have a solution I don't think I will be adding this feature.

No trouble at all!

I can add my old .nfo generation step back into youtube-dl to resolve for these anyway :)