I had wanted to do this for a really long time, and only today did I finally get around to it. This YT Downloader has 2 special features:
- It can download entire playlists (other programs can do this too)
- Before downloading each file, it checks whether the song is already in my collection (this is the reason I wrote it in the first place)
It works quite well, but in the future I would mainly like to improve the following things related to detecting whether a song is already on my disk:
- Put all my artists into the database, so that if a song is named something like “Gigi D’Agostino Vorrei Fare Una Canzone”, a dash can be inserted to tell the artist apart from the song title, and the check will then succeed
- If a file does not contain the artist’s name, skip it, and at the end offer to play it from YT, show songs with the same name, and let the user decide whether they don’t have the file yet and want to download it, or already have it and don’t want to download it again.
How this program came about
It didn’t take much effort, the whole thing took me about 1.5 hours.
Basically, I just combined 2 programs: my own “PoradekVeVideich” and a third-party one called “YouTubeFisher“, which you can download at 👻 RIP – this server didn’t even survive its own hosting.. Then I added to YouTubeFisher the ability to download a YT playlist and parse it into links to individual videos; all you need to do is enter the playlist URI. After that, I changed the download method from asynchronous to synchronous.
This got rid of the problem of YT not letting me download X videos at once, but in exchange I gave up the ability to stop downloading without stopping the whole program, as well as showing the current download percentage in the progress bar. I also fixed a few minor bugs. And that’s all!