I needed to download a 3k+ playlist from youtube. It pissed me off how often the music would get deleted from there and the ads…

The best tool for the job was YT-DLP.

https://github.com/yt-dlp/yt-dlp?tab=readme-ov-file#installation

Shit ton of options and always working. With linux it comes bundled with GUI automatically so… yeah. Another reason to change from windows to linux.

Thanks to having a GUI to work with, I had more time to work on the settings I wanted on the music. Here are the settings I used:

-f bestaudio --extract-audio --audio-quality 0 --embed-thumbnail --audio-format opus --embed-metadata --yes-playlist --lazy-playlist --embed-chapters --continue --no-overwrites --ignore-errors --compat-options no-live-chat --download-archive My_mix.txt

This “script” will try to download the playlist presented, do so one by one and make a record into My_mix.txt file. So if your power goes out, you can resume, where you stopped. Also it will embed chapters into the file, description and other things.

–ignore-config -o %(uploader)s-%(title).60s-%(id)s.%(ext)s

This part here just outputs a file name with an uploader-video_title-yt_id.extension(.opus)

I also made 2 scripts for downloading videos. One where you download it in best quality possible: -f bv*+ba/b --embed-subs --embed-metadata --embed-thumbnail --yes-playlist --lazy-playlist --embed-chapters --continue --no-overwrites --ignore-errors --compat-options no-live-chat --download-archive archive_list.txt --xattrs

And other where if you want to archive a channel you don’t need to necessarily the best quality (4K) video for an essay. 1080p or smaller, I found was enough:

-f bestvideo[height<=1080][ext=mkv][vcodec^=avc]+bestaudio[ext=opus]/bestvideo[height<=1080]+bestaudio --embed-subs --embed-metadata --embed-thumbnail --yes-playlist --lazy-playlist --embed-chapters --continue --no-overwrites --ignore-errors --compat-options no-live-chat --download-archive archive_list.txt --xattrs

You might want to change some settings here. That’s why you should do several test runs on smaller playlists and tweak them however you like. You will also need a VPN for huge playlists, because you will get throttled by ISP (internet service provider) or Youtube.

I recommend Mullvad VPN:

https://mullvad.net/de

  • ms.lane@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    13 hours ago

    I’m both genuinely happy for you and mildy annoyed. YT bitrates are awful and SLSK is like right there…

    • N0x0n@lemmy.ml
      link
      fedilink
      arrow-up
      2
      ·
      10 hours ago

      Yeah !! SLSK, nicotine+ is the best way to get your music. Can’t believe it exists for so long an only heard about it here on lemmy 2 years ago.

      However, YT-DLP has it own merit with youtube ! There are some great YouTuber’s out there doing some very good journalism, science and other stuff ! And archiving them with tubearchivist, tubesync or pinchflat is the best we can get anyway !

  • Korhaka@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    5
    ·
    20 hours ago

    Learn something new every day. Used it for over a decade and never knew yt-dlp or its predecessor had a GUI.

    • Thaso@lemmy.mlOP
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      Yt-dlp doesn’t by itself have a graphical user interface. You need to install one from somewhere be it Github of some Linux repository. I was lucky that my version of linux came with one by default.