36
linuxxx
7y

Alright, so my previous rant got a way better response than I expected! (https://devrant.io/rants/832897)

Hereby the first project that I cannot seem to get started on too badly :/.

DISCLAIMER: I AM NOT PROMOTING PIRACY, I JUST CAN'T FIND A SUITABLE SERVICE WHICH HAS ALL THE MUSIC I WANT. I REGULARLY BUY ALBUMS. before everyone starts to go batshit crazy regarding piracy, this is legal in The Netherlands for personal use. I think that supporting the artists you love is very good and I actually regularly pay for albums and so on but:
- I want all the music from about every artist in my scene. Either on Deezer or on Spotify this is not available and I'm not gonna get them both (they both have about half of the music I want). Their services are awesome but I'm not going to pay for something if I can't listen to all the music I like, hell even some artists (on deezer mostly) only have half their music on there and it's mostly not better on Spotify.
- I'd happily buy all albums because I love supporting the artists I love but buying everything is just way too fucking much."Get a premium music streaming subscription!" - see the first point.

You can either agree or disagree with me but that's not what this rant is about so here we go:

The idea is to create a commandline program (basically only needs to be called by a cron job every day or so) which will check your favourite youtube (sorry, haven't found a suitable non-google youtube replacement yet) channels every day through a cronjob and look for new uploads. If there are, it will download them, convert them to MP3 or whatever music format you'd like and place them in the right folder. Example with a favourite artist of mine:

1. Script checks if there are any new uploads from Gearbox Digital (underground raw hardstyle label).
2. Script detects two new uploads.
3. Script downloads the files (I managed to get that done through the (linux only or also mac?) youtube-dl software) and converts them to mp3 in my case (through FFMPEG maybe?).
4. Script copies them to the music library folder but then the specific sub-folder for Gearbox Digital in this case.

You should be able to put as many channels in there as you want, I've tried this with the official YouTube Data API which worked pretty fine tbh (the data gathering through that API). The ideal case would be to work without API as youtube-dl and youtube-dlg do. This is just too complicated for me :).

So, thoughts?

Comments
  • 3
    @byte @dontPanic @DjWawa and I'll type the rest in another comment as my memory is shit.
  • 0
    Why you should download ALL videos of a yt channel? (Aka waste of hdd space & isp bandwidth)

    Yes you like hardstyle,
    But i suppose that there are some artists/songs that you don't like from that label.

    The most complex part of the project will be the filter for what to download and what not.
  • 0
    @linuxxx I'll gladly contribute when there will be something started. I don't have THAT much time, but I'll happily join you 8)
  • 0
    @shelladdicted True but I'd still rather have everything. I mean when I buy an album I get that same problem really
  • 0
    Agreed. What if an artist uploads a vlog to his or her fans? We wouldn't want to download it.@shelladdicted
  • 3
    I think the biggest challenge will be creating the repo as github won't be the best suited platform for this one (Aurous was on github and was quickly hunted down for copyright infringement and a famous dutch youtube to mp3 site was shutdown with a huge fine last week). I'm thinking of a private gitlab repo on which we can add people but that won't be indexed on google at least @dontPanic
  • 0
    @frumsy That's a matter of subjectivity though but yeah some people won't want those indeed. (One of my fav artists, Rooler, makes 'Living my dream' vlogs which I also listen to so I fall out of that boat but get what ya mean yeah)
  • 0
    @shelladdicted >waste of hdd space and isp bandwidth
    HDD unless you use only SSD is dirty cheap already, Im a disgusting data hoarder, now my heart goes to those that have to live in those countries with the unfunny meme that is data caps, there is not reason why in 2017 a home connection that is not satellite should have it
  • 0
    Could do some weight system that's decides based on a list of known tags. This works assuming the uploader doesn't put things like vlog in his music video tag.
  • 0
    @legionfrontier In The Netherlands, SSD's are not cheap at all too badly :/
  • 1
    The best thing to do is to build it so people everywhere can use it. Throwing more hardware at your projects is not a scalable solution. A little thought goes a long way :)@legionfrontier
  • 1
    @linuxxx that is why I wrote HDD *unless you use only SSD*, like in the good old magnetic disk ones, like a Western Digital 2TB that goes like for ~$60-70 (50-60€)
  • 0
    @legionfrontier
    If something is cheap doesn't mean that you can't waste it

    You can have a 12TB RAID but if it's full of junk file you have also to waste your TIME to clean it.
  • 1
    @linuxxx yes, but iTunes (or any other digital music store) will not ban you IP if you download a lot of albums.

    YT will (i dont remember which is the limit) or at least yt will ask you to solve a reCaptcha.

    So is necessary to understand the limit and apply it to the software.
  • 0
    @frumsy wasnt saying that this idea doesnt have some flaws here and there, just that the keyword "waste of HDD" trigger my disgusting data hoarding senses, alluring why I can still be one, that HDDs are quite cheap nowadays unless you need top performance
  • 1
    @shelladdicted Tbh I've used youtube-dlg to download over 700 songs within an hour or so and that worked fine Oo
  • 0
    Yes that's not crazy expensive for people in western countries but one of the benefits to this type of project is it allows for less energy usage in the first place. I may be wrong but I assume that people who have less access to energy and storage are already using this kind of stuff to reduce their energy usage. @legionfrontier
  • 0
    rss feed, and youtube-dl
    Seems like an 30m hack.
    What is so complex about this?
    Genuinely curious, I just don't see what is hard about it.
  • 0
    Anyways, do people think this is a good idea or nahh? (otherwise I'll just have to find time to write this myself :P)
  • 0
    @linuxxx me too, not songs though, some videos of some youtubes channels that were going to be taken down, never got capped and that videos most of the time were 1hour each
  • 0
    @nbamaral I'm not familiar with rss feeds and the copying to specific folders is a requirement for me. If you've got some good idea's, please, share!
  • 0
    talking about youtube/spotify clone It reminds me of this project that got taken down for a while but it got back
    https://codecanyon.net/item/... , of course is just streaming, not downloading
  • 0
    @legionfrontier "nothing to see here". The project is down again or?
  • 0
  • 1
    @legionfrontier Like it but is it open source? Because I can see a price on top of the page :). Also, in this case I'm talking about downloading music offline!
  • 0
    @linuxxx
    I'm on a phone :)
    This page seems helpful:
    https://support.google.com/youtube/...
    Parsing rss is easy, you probably just need to map channel -> folder by hand.
    I know I have a similar python script somewhere (I mostly use perl for my stuff), I'll past it here later if it helps.
    Using youtube-dl as a dependency solves the problem of publishing your script, just import the function.
  • 0
    @linuxxx well you do got the source ... after you pay,lol, not like is that hard to get it if you wish to go the arrrgh way, anyway perhaps check this out? http://anyaudio.in/ it does give the source code https://github.com/anyaudio/...
  • 2
    @nbamaral Yeah that would help I think! Although I have never written anything more than a hello world in python though 😅

    @legionfrontier Appreciate the effort but if this doesn't download everything offline, it's not really what I'm looking for :)
  • 0
    @linuxxx
    Ahahah not a python fan either, but the hate for perl/sed/awk in devrant is strong :p
  • 0
    I would be interested helping with something like this and actually using it. I had a similar idea a while ago with the difference that it would run on a desktop and allow you to send youtube URLs in via email or something like that and would then download from that URL. If anybody is interested in that I can try to integrate it into yours if you let me in.
  • 0
    YouTube provides audio only m4a file for all videos? Whenever JDownloader grabs a link it downloads an m4a file too
  • 0
    @billgates Yeah true but you can convert those to mp3/ogg etc
  • 0
    @billgates dunno, dont think so specially how they have been rather forcefully promoting dash/vp9 encoding (though it makes sense for anything 4k)
  • 0
    You can convert it with ffmpeg, so it's no problem at all. Actually, youtube-dl has an option to do that automatically (-x mp3, I believe)
  • 0
    @legionfrontier bc have nothing better to do than prove you wrong. I used curl on my Android phone and searched the source code of YouTube.

    Under mp4, there is mp4a
  • 0
    @billgates there's already webm
  • 0
    If you care about music, please don't listen to YouTube rips
  • 0
    @620hun Did you read my rant properly? I often buy albums and I'd love to pay for a streaming service but if I want to get all my music on streaming services I'll at least have to pay for three of them and that's a little too much for me. No offense but I tried my best to explain that part clearly :)
  • 0
    @linuxxx I did. It's not the piracy part, but the quality of YouTube. But I guess if there's no other way...
  • 0
    @620hun Oh right nevermind, apologies!
  • 0
    @linuxxx I'm interested in helping. Sounds like a cool project! Really just skimmed the comments, what language were you thinking?
  • 1
    @charliefoxtrot I already started a tiny part in PHP (yeah I write most cli things in PHP :))
  • 0
    I'm not sure if I'd be of much use in this project but I will gladly look through the source and try my best to hunt bugs and possibly implement a couple features for you.
Add Comment