How to mass download liked music playlist
How to mass download liked music playlist
As title says. I have a music.youtube liked playlist of over 3k songs and I would like to get them onto my phone. I have yet to find a way to do this just from the liked music playlist. Is it even possible?
You can use yt-dlp with the -x flag to extract the audio with the link to the playlist. You can specify the audio format too, it's a powerful tool.
https://github.com/yt-dlp/yt-dlp
I had tried that without the flag and I got an error stating YouTube music isn't supported on my phone.
I did some testing, it looks like the auto generated "Liked Music" playlist doesn't have a proper URL that can point to the music.
A workaround seems to be adding the playlist to the queue, then saving the queue to a new playlist, and using that new playlist URL.
That way you can remove the "music." part from the "music.youtube.com" and use it like a regular YouTube playlist.
If that doesn't work for you it might be a DRM issue with how your phone is attempting to download the data. I used my desktop.
yt-dlp is so good
Using YTDLnis on android I get this error:
Downloading: Title: URL: https://music.youtube.com/playlist?list=LM Type: audio Command: --extractor-args "youtube:player_skip=webpage,configs;visitor_data=;player_client=mweb;lang=en" --newline -N "3" --trim-filenames "184" --no-mtime --sponsorblock-remove "music_offtopic,sponsor" -f "ba/b" -x -P "/storage/emulated/0/Android/data/com.deniscerri.ytdl/files/downloads/2" --ppa "ThumbnailsConvertor:-qmin 1 -q:v 1 -vf crop='if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'" -o "%(uploader).30B - %(title).170B.%(ext)s" --parse-metadata "%(artists,artist,uploader,channel,creator|null)l:(?P<uploader>.*?)(?:(?= - Topic)|$)" --embed-metadata --parse-metadata "%(playlist_uploader,artist,uploader|)s:(?P
<first_artist>
.?)(?:(?=,\s+)|$)" --parse-metadata "%(album,playlist_title,playlist|)s:%(meta_album)s" --parse-metadata "%(album_artist,first_artist|)s:%(album_artist)s" --parse-metadata "description:(?:.+?Released\ on\s:\s*(?P<dscrptn_year>
\d{4}))?" --parse-metadata "%(dscrptn_year,release_year,release_date>%Y,upload_date>%Y)s:(?P<meta_date>
\d+)" --embed-thumbnail --convert-thumbnails "jpg" "https://music.youtube.com/playlist?list=LM"WARNING: [youtube:tab] YouTube Music is not directly supported. Redirecting to https://www.youtube.com/playlist?list=LM WARNING: [youtube:tab] YouTube said: The playlist does not exist. ERROR: [youtube:tab] LM: YouTube said: The playlist does not exist.
I do know that not all music.youtube likes get transfered to basic YouTube.
It's the playlist link that's the problem. It ends with
playlist?list=LM
which stands for "Liked Music". The downloader doesn't know your account's liked music playlist. It needs a playlist ID likeplaylist?list=PLO7q4X25LQEEyJAQe5EEwJxUCSKvuKbok
Basically you need the songs to be in a different playlist