RandomNinjaAtk / docker-lidarr-extended

lidarr-extended :: Lidarr application packaged with multiple scripts to provide additional functionality
GNU General Public License v3.0
275 stars 24 forks source link

[Feat]: Youtube-dl #102

Closed nrgbistro closed 1 year ago

nrgbistro commented 1 year ago

Is your feature request related to a problem? Please describe. I don't current have a paid subscription to tidal or deezer. While they do seem valuable especially for flac files, I would be ok with downloading directly from youtube.

Describe the solution you'd like It would be nice if it was possible to use Youtube-dl as a backup if tidal and deezer downloads fail.

Describe alternatives you've considered I've tried adding more indexers to lidarr but cannot find some of the more niche albums that I listen to. Youtube certainly has individual songs that could be easily searched for.

RandomNinjaAtk commented 1 year ago

Pretty sure, you can use deezer for free, just limited to the free tier quality... Might even be the same for tidal...

I would welcome a PR for this, but I don't think this is something I'm going to work on honestly. Lidarr relies on full albums, not single songs, so it doesn't seem like it would fit at all for this and would be too cumbersome to support/develop.

Protektor-Desura commented 1 year ago

Deezer is free but limits quality to 128K MP3. I don't see YouTube being better than this. Tidal free says it is limited to 160k for songs.

https://offer.tidal.com/products

Good Sound Quality Up to 160 kbps 90M+ songs Limited interruptions Expert curated playlists

https://www.deezer.com/us/offers/

Over 90 million tracks Thousands of podcasts Personalized mixes & playlists NO High Fidelity sound

diamant-x commented 1 year ago

Although it seems deezer free is an already supported method. Given that for videos the implementation is already there, an adaptation to trigger as well for just the audio could help to bring this docker more mainstream remove yet another barrier of adoption (deezer account).

PS: I haven't seen a free Tidal plan, only 30-days trial. https://tidal.com/pricing

RandomNinjaAtk commented 1 year ago

Doubt this will ever be implemented, I'm not working on it and don't expect that anyone else will... I don't believe the resources required to make it work exists and YouTube is more focused on tracks, not albums which also makes it a deal breaker.

alexlyee commented 1 year ago

I --for one-- came here because I was searching for precisely this functionality. There are a lot of songs out there that I love which aren't on now nor may ever appear on mainstream streaming platforms, and I'd much, much rather have some copy of my song than none at all. I'd love the option to use something like ytmdl or scdl as a fallback in case the track couldn't be reliably located on the more organized services.

I understand that it wouldn't be trivial to integrate because of the expectation that albums could be found, but nonetheless here is the functionality I imagine precisely that could work:

  1. If configured, any track that cannot be found could be searched for on youtube and/or soundcloud by "name - album - artist" on those platforms and the first x (default: 1) results could be queued for download. Ideally, I imagine a simple algorithm could be used to take the expected name and the name of the first result and generate a confidence score for it, only downloading the result with the highest confidence of matching if it is over a certain (user-specified) threshold. However for sake of simplicity, just the top result or results of the fallback service/s could be downloaded.
  2. They'd be tagged with fallback + youtube or soundcloud.
  3. At a regular interval, say every day, week, or month, they could be preconfigured to be searched for again on the higher-quality sources.
RandomNinjaAtk commented 1 year ago

This should now be resolved via this commit: https://github.com/RandomNinjaAtk/docker-lidarr-extended/commit/b14973cba5ebc26cd3c5f4cf245f52f3ae64915a

Read the commit details/description to understand how to use it properly...

RandomNinjaAtk commented 1 year ago

Please confirm this is resolved, if not I will auto-close in the near future. As far as I can tell its working...

ciB89 commented 1 year ago

So I can either user deezer or freyr, but freyr will not be used automatically as a third option automatically if using tidal and deezer and both fail to download?

RandomNinjaAtk commented 1 year ago

So I can either user deezer or freyr, but freyr will not used as a thrid option automatically if tidal and deezer fail to download?

Correct, freyr doesn't support tidal links, so It couldn't be used as a fallback for tidal. Also this is a simple fix, making it operate in the manor your suggesting would require more work that I simply don't have the cycles for... I was only able to implement this because I found a piece a software that was easy enough to insert and not make that many changes...