Using YT-DLP On Windows to Periodically Download Groups of YouTube Channels

I follow many YouTube channels where I have used YT-DLP to download all of the videos from each channel. About once a week, I run a batch file in Windows to download any new videos added since the last time I downloaded.

  1. I create a directory structure based on topic, such as:

    /yt-dlp/topic-1/channel-1/

    Where topic-1 is whatever category I’m interested (say channels about hacking), and channel-1 is the title of the channel (which I might shorten).
  2. In each channel directory, I have the YT-DLP executable, FFMPEG, and a batch file called download-videos.bat

    The downloads-videos.bat file contains the following:

    @ECHO OFFyt-dlp -U
    yt-dlp -f bestvideo+bestaudio –merge-output-format mkv –all-subs –write-description –write-info-json –no-clean-infojson –playlist-reverse [CHANNEL URL]

3. In each topic directory, there is also a download-videos.bat file which contains the following:

CD channel-1
CALL download-videos.bat
CD ..
CD channel-2
CALL download-videos.bat
CD ..

. . . and so on.

Once a week or so, I launch the download-videos.bat in the topic directory, which then goes through the process of calling the download-videos.bat file in each channel, thereby downloading any new videos.

There are probably more elegant ways to accomplish this, but I like to do it this way, so it is easily portable and not dependent on any path variables on a specific machine, etc.

One thought on “Using YT-DLP On Windows to Periodically Download Groups of YouTube Channels”

  1. Cheers, this worked really well. Although your blog has some formatting issues that make it a little hard to just copy and paste your source code. I suggest maybe finding out a way to input it as plaintext so it’s not being tampered with by WordPress font formatting.

Leave a Reply to AnonymousCancel reply