automation to the people: download YouTube videos automatically


You know that: You have just stumbled upon a great and informative YouTube channel. It’s full of videos you would like to watch but to do that you need to have internet access in any case. And of course that internet access needs to be as fast as possible to cope with the video quality you would like to watch.

If only it would be possible to download a video from YouTube, store it locally and watch it whenever you got the time. Maybe you want to take that video with you on that great, internetless self-awareness trip…

Now there are a lot of tools that allow you to download YouTube clips manually. I used BYTubeD for that purpose. It is a nice and easy to use Firefox Add-On which can be started whenever a YouTube video appears in any page.

After you’ve started into BYTubeD you can select which of the videos on the page you would like to download and what quality you would like to get.

All this works very well if you only want to download something once every while. Problems come up if you want to download regular postings…

I’ve subscribed to several – to me – very interesting YouTube channels. These get updated almost every day. The only option for me to keep track with them is to take the time, surf YouTube and use BYTubeD to download manually if there is anything new. Now this was a waste of time for me so I automated it.

I wrote a small tool I call “YouTubeFeast” – because it allows you to feast on YouTube… yeah I know. Now this tool is designed to run on a linux or windows machine in the background and scan in configurable intervals for new videos. If it finds new videos it downloads them in the quality you pre-configured to a folder you configured. It couldn’t be easier.

It’s open-source (GPLv2) and I’ve made it publicly available on GitHub. You can even find a pre-compiled binary version there which is ready-to-run.

The configuration file “YouTubeFeast.configuration” is a plain and simple text file. Use your favourite text editor and obey some simple rules:

  • any line beginning with # is a comment
  • any line not beginning with a # is a download-job
  • any download job consists of the following, tabulator separated parameters:
    • the URL of the video page / channel homepage / overview
    • the desired quality (360p, 720p, 1080p)
    • the path to store the videos
    • the interval (in hours) to check for new stuff
  • don’t forget: tabulator separates parameters (take a look into the example configuration file…)

After configuring the only thing you need to do is to start YouTubeFeast. It will then go through all the jobs and download video files – as soon as it comes across an already downloaded file it stops that specific job.

That’s all about it. If you got any comment or suggestions for improvement please let me know.

Source 1: https://github.com/bietiekay/YouTubeFeast
Source 2: Download YouTubeFeast-March2013

  1. #1 by Martin on January 23, 2013 - 21:28

    Hey, funktioniert das Script immernoch? Leider stürzt es bei mir im Windows 7 immer wieder ab, sobald ich es starte?

  2. #2 by bietiekay on January 24, 2013 - 13:45

    ja, funktioniert bei mir immernoch – gab auch erst vor kurzem ein Update.

    • #3 by Martin on February 26, 2013 - 22:18

      Hey danke für die schnelle Antwort, leider stürtzt es nach ungefähr 5 Sekunden ab. Es findet einen neuen Job, aber kackt dann sofort ab. Ehm ich habe alles aus Source 2 heruntergeladen, hast du vllt dort die Version noch nicht aktuallisiert? Weil bei Source 1 bin ich zu blöd es zum laufen zu bekommen xD
      Benutzt du es zufällig in Linux? Habe die Pfadangaben in der Config gesehen und diese sehen eher nach Linux aus als nach windows 🙂

      • #4 by bietiekay on February 27, 2013 - 10:25

        Ich benutze es auf dem Mac und unter Windows – jeweils dann mit den entsprechend unterschiedlichen Pfadangaben. Allerdings rate ich dazu die aktuellste Version runterzuladen und aus dem Code zu kompilieren – ich werde in Kürze mal die fertig kompilierte Version updaten damit der Download einfacher wird. Die Version 1 die da liegt wird wohl tatsächlich so nichtmehr funktionieren da YouTube auch einiges geändert hat. – Aus dem code kompiliert in der aktuellsten Version gehts dann allerdings.

        • #5 by Martin on March 6, 2013 - 03:18

          Gibt es auch eine Möglichkeit dies auf nem Ubuntu Server laufen zu lassen?

          Sicherlich, wenn ich nicht son bob wäre, richtig? 😀

      • #6 by bietiekay on March 2, 2013 - 21:25

        Ich habe gerade die YouTubeFeast version die im Artikel Download (letzter Link) verlinkt ist aktualisiert – die geht bei mir unter Windows problemlos.

        • #7 by easylite on March 6, 2013 - 16:48

          Hey ist es auch möglich dein Script auf einem Ubuntu-Server laufen zu lassen, da ich auf meinem Homeserver Ubuntu Server laufen lassen möchte.

          Liebe Grüße

          • #8 by bietiekay on March 6, 2013 - 21:58

            Ja sollte gehen – einfach Mono installieren und mit ‘mono name.exe’ starten …

Comments are closed.