Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Migrate Away From Spotify Direct Download To Spotdl (yt-dlp backed) #3

Closed
wants to merge 11 commits into from

Conversation

Kyrluckechuck
Copy link
Owner

@Kyrluckechuck Kyrluckechuck commented Jan 25, 2025

Description

Holy moly this ones been a while in the making.

I realized the Spotify-direct-download system was flawed, because it was violating the ToS in very obvious ways, and it was just a matter of time until most accounts were flagged (such as mine). They have a relatively strict system, where you get one warning and a temporary disable of your account, and then after that it's gone forever.

With that news, I opted to stop using this entirely and rethought how I could approach having a local copy of "good quality music", and keeping it more up to date with Spotify's catalog, rather than MusicBrainz smaller catalog. Don't get me wrong, I really appreciate MusicBrainz but it's catalog is just never kept up to date enough for any artist that isn't surging in popularity, and can make it hard to match music for local acquisition.

I stumbled upon https://github.com/spotDL/spotify-downloader, which raised a number of possibilities, and after tinkering around with it for a bit, and deciding I was happy with the quality of the music files, I opted to repurpose this project.

This project will remain on the same goal of what it original was, but will now require either two things:

  • You need to be okay with music being capped at a 128kbps bitrate
  • You need to subscribe to Youtube Music Premium (or Youtube Premium which includes it), which allows "full size" m4a download with a 256kbps bitrate

In making this change and switching to the Spotdl & Spotipy API's, this should be both backwards compatible with existing "larger" libraries that already exist, and easier to maintain going forward since both projects are fairly well established and take away much of the "manual" process of specifically crafting network requests and parsing their responses.

There are a few things that are not 100% complete here, including:

  • Actually test the docker image in proper use
  • README.md overhaul with the new goal & purpose
    • Linking to "how to get your PO Token and cookies.txt"
    • How to use those in the settings.yaml
  • Deciding to either overhaul CLI support for what's actually needed now or just dropping it since the primary intention is to run this via the docker container (aka settings.yaml-controlled)
  • Get Add yt-dlp Extractor Argument Support spotDL/spotify-downloader#2285 merged so that this can point at spotdl from PyPi rather than my fork
  • Sanitize input field, stripping empty space and query params

@Kyrluckechuck
Copy link
Owner Author

Welp, looks like this theory was too good to be true; Google appears to have soft banned my account, and I hadn't even been starting to stress test this yet.

Will likely close this out for now until I discover another download method that's both reliable and scalable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant