Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. Selfhosted
  3. YouTube Music Downloader

YouTube Music Downloader

Scheduled Pinned Locked Moved Selfhosted
selfhosted
10 Posts 7 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L This user is from outside of this forum
    L This user is from outside of this forum
    [email protected]
    wrote last edited by [email protected]
    #1

    Hey guys i have been using Navidrome to stream my music from my server and its been amazing. I primarily use YT Music because of discoverability so I have all of my "primary" playlists (about 8 of them really, but supporting a somewhat arbitrary limit would be nice) in YouTube.

    Im looking for an automated way to download the music and keep my navidrome instance updated with a couple playlists. I started working on some Python script to handle it, but its just not working super well so i would prefer to use someone elses solution haha.

    Anyone have any good recommendations? I tried this one but I couldn't actually find the music and it seems to only support one playlist at a time. It would also be nice to download the album art and set some ID3 tags too

    D D T 3 Replies Last reply
    46
    • L [email protected]

      Hey guys i have been using Navidrome to stream my music from my server and its been amazing. I primarily use YT Music because of discoverability so I have all of my "primary" playlists (about 8 of them really, but supporting a somewhat arbitrary limit would be nice) in YouTube.

      Im looking for an automated way to download the music and keep my navidrome instance updated with a couple playlists. I started working on some Python script to handle it, but its just not working super well so i would prefer to use someone elses solution haha.

      Anyone have any good recommendations? I tried this one but I couldn't actually find the music and it seems to only support one playlist at a time. It would also be nice to download the album art and set some ID3 tags too

      D This user is from outside of this forum
      D This user is from outside of this forum
      [email protected]
      wrote last edited by [email protected]
      #2

      Yt-dlp is the gold standard for that.

      https://github.com/yt-dlp/yt-dlp

      Tag cleanup and album art are their own beast that you’ll wanna tackle post-download, but beets is another gold standard tool that can help with that layer.

      https://beets.io/

      tux0r@feddit.orgT L L 3 Replies Last reply
      27
      • D [email protected]

        Yt-dlp is the gold standard for that.

        https://github.com/yt-dlp/yt-dlp

        Tag cleanup and album art are their own beast that you’ll wanna tackle post-download, but beets is another gold standard tool that can help with that layer.

        https://beets.io/

        tux0r@feddit.orgT This user is from outside of this forum
        tux0r@feddit.orgT This user is from outside of this forum
        [email protected]
        wrote last edited by [email protected]
        #3

        If you prefer Rust, yaydl (disclosure: I wrote it) would be an alternative to yt-dlp. (Patches welcome - right now, I much depend on Invidious to get YouTube contents.)

        +1 for Beets - awesome software!

        1 Reply Last reply
        6
        • D [email protected]

          Yt-dlp is the gold standard for that.

          https://github.com/yt-dlp/yt-dlp

          Tag cleanup and album art are their own beast that you’ll wanna tackle post-download, but beets is another gold standard tool that can help with that layer.

          https://beets.io/

          L This user is from outside of this forum
          L This user is from outside of this forum
          [email protected]
          wrote last edited by
          #4

          Yeah I am using yt-dlp to download the music, and I can set that on a cronjob no problem.

          I am specifically asking for better downloading (I don't want just the raw YouTube title most of the time), album art, and ID3 tagging. But that beets.io thing looks super cool! I might integrate that into my existing python scripting instead of trying to build it all out myself

          D C 2 Replies Last reply
          4
          • L [email protected]

            Yeah I am using yt-dlp to download the music, and I can set that on a cronjob no problem.

            I am specifically asking for better downloading (I don't want just the raw YouTube title most of the time), album art, and ID3 tagging. But that beets.io thing looks super cool! I might integrate that into my existing python scripting instead of trying to build it all out myself

            D This user is from outside of this forum
            D This user is from outside of this forum
            [email protected]
            wrote last edited by [email protected]
            #5

            Just to throw out an easy option: if the music is well-labeled on Youtube, you can get pretty close to that full suite with just yt-dlp by using --embed-thumbnail as a stand-in for album art, dumping your files with an “Artist - track - album” naming structure using the --output-template flag — then using an awk or python script as a second pass to add the artist/track/album names to each file as tags.

            E: and in case it isn’t self-evident, you don’t have to give yt-dlp a URL for each track; it’ll work fine with a playlist URL.

            L 1 Reply Last reply
            6
            • D [email protected]

              Just to throw out an easy option: if the music is well-labeled on Youtube, you can get pretty close to that full suite with just yt-dlp by using --embed-thumbnail as a stand-in for album art, dumping your files with an “Artist - track - album” naming structure using the --output-template flag — then using an awk or python script as a second pass to add the artist/track/album names to each file as tags.

              E: and in case it isn’t self-evident, you don’t have to give yt-dlp a URL for each track; it’ll work fine with a playlist URL.

              L This user is from outside of this forum
              L This user is from outside of this forum
              [email protected]
              wrote last edited by
              #6

              Haha unfortunately the music on YouTube is not especially well managed. Ive been using YouTube for music for a long time so a lot of my music is uploaded by Vevo or "{Artist} - Topic" and stuff like that. Plus (IIRC) YouTube music doesn't give things like what album a song is from or when it was released

              1 Reply Last reply
              2
              • L [email protected]

                Hey guys i have been using Navidrome to stream my music from my server and its been amazing. I primarily use YT Music because of discoverability so I have all of my "primary" playlists (about 8 of them really, but supporting a somewhat arbitrary limit would be nice) in YouTube.

                Im looking for an automated way to download the music and keep my navidrome instance updated with a couple playlists. I started working on some Python script to handle it, but its just not working super well so i would prefer to use someone elses solution haha.

                Anyone have any good recommendations? I tried this one but I couldn't actually find the music and it seems to only support one playlist at a time. It would also be nice to download the album art and set some ID3 tags too

                D This user is from outside of this forum
                D This user is from outside of this forum
                [email protected]
                wrote last edited by
                #7

                JDownloader is the best for downloading anything from YouTube. It may also support YouTube Music

                1 Reply Last reply
                2
                • D [email protected]

                  Yt-dlp is the gold standard for that.

                  https://github.com/yt-dlp/yt-dlp

                  Tag cleanup and album art are their own beast that you’ll wanna tackle post-download, but beets is another gold standard tool that can help with that layer.

                  https://beets.io/

                  L This user is from outside of this forum
                  L This user is from outside of this forum
                  [email protected]
                  wrote last edited by
                  #8

                  Every single tool that downloads from YouTube is just a yt-dlp wrapper 😀

                  1 Reply Last reply
                  1
                  • L [email protected]

                    Yeah I am using yt-dlp to download the music, and I can set that on a cronjob no problem.

                    I am specifically asking for better downloading (I don't want just the raw YouTube title most of the time), album art, and ID3 tagging. But that beets.io thing looks super cool! I might integrate that into my existing python scripting instead of trying to build it all out myself

                    C This user is from outside of this forum
                    C This user is from outside of this forum
                    [email protected]
                    wrote last edited by
                    #9

                    Download with yt-dlp. All of it. Even into a single folder if that's easier.

                    Then run it all through Picard and that'll do everything else for you - albumart, metadata, folders, filenames, the lot.

                    Anything that Picard doesn't know about, enter it into the MusicBrainz db to give back to the community.

                    Done.

                    1 Reply Last reply
                    2
                    • L [email protected]

                      Hey guys i have been using Navidrome to stream my music from my server and its been amazing. I primarily use YT Music because of discoverability so I have all of my "primary" playlists (about 8 of them really, but supporting a somewhat arbitrary limit would be nice) in YouTube.

                      Im looking for an automated way to download the music and keep my navidrome instance updated with a couple playlists. I started working on some Python script to handle it, but its just not working super well so i would prefer to use someone elses solution haha.

                      Anyone have any good recommendations? I tried this one but I couldn't actually find the music and it seems to only support one playlist at a time. It would also be nice to download the album art and set some ID3 tags too

                      T This user is from outside of this forum
                      T This user is from outside of this forum
                      [email protected]
                      wrote last edited by
                      #10

                      https://github.com/MattBlackOnly/SpotSpot + Gluetun

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Login or register to search.
                      Powered by NodeBB Contributors
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups