📼Command line tool based on youtube-dl to easily download selected channels from your subscriptions.

Overview

youtube-cdl

Command line tool based on youtube-dl to easily download selected channels from your subscriptions.

Screenshot

This tool is very handy if you want to hoard a lot of videos, but not all of them.

Setup:

  1. Clone repo & install dependencies:
git clone https://github.com/anatolykopyl/youtube-cdl.git
cd youtube-cdl
pip install -r requirements.txt
# If on windows instead run
# pip install -r windows.txt
  1. Create or select a project in the API Console. Complete the following tasks in the API Console for your project:

    1. In the library panel, search for the YouTube Data API v3. Click into the listing for that API and make sure the API is enabled for your project.

    2. In the credentials panel, create an OAuth client ID.

      This will need you to configure your consent screen:

      • Only "App name", "User support email" and "Developer contact email" fields are required.
      • On "Test users" step add yourself (your email address).

      After you've set up your consent screen go back to the "Credentials" tab and create OAuth Client ID credentials.

      Set the application type to Desktop App.

      Download the JSON file that contains your OAuth 2.0 credentials. The file has a name like client_secret_CLIENTID.json, where CLIENTID is the client ID for your project.

  2. Rename the downloaded file to client_secrets.json and put it in the project root.

  3. Run the script:

python main.py

Usage:

  • Run the script and go through your subscriptions one by one:
python main.py
python main.py -f 'bestaudio/best'
  • Download all the videos from all channels you're subscribed to:
python main.py -a
  • Download into a specified directory:
python main.py -o path/to/dir

When you go through all of your subscriptions and mark all of them as y/n your selections will be saved in download_list.json.

If for some reason you stopped the script, you can continue downloading without going through all of your subscriptions again by running python main.py -i download_list.json.

Or if you made a mistake while going through the channels you can just edit download_list.json and rerun with it passed as an argument.

You might also like...
Download YouTube videos/music and images in MP4, JPG with this tool.
Download YouTube videos/music and images in MP4, JPG with this tool.

ABOUT THE TOOL Download YouTube videos, music and images in MP4, JPG with this tool, with an easy to understand interface. This tool works with both,

Python based Telegram bot. Search and download YouTube video or audio.

Python-Telegram-Youtube-Media-Bot Python based Telegram bot. Search and download YouTube video or audio. Just change settings.py and start TelegramBot

Download the resources of the Blue Archive easily!

blue-archive-bundle-downloader Download the resources of the Blue Archive easily! Known issue In Windows It works only if the console is "fullscreen"

Easily download audio described movies and TV shows found on audiovault.net

AudioVault Downloader A convenient downloader for audio described movies and TV shows found on the Audio Vault. get latest binary release for Windows

Archivist - Easily archive 📦 Download folder to Google Drive ☁️

Archivist Script for archiving Download folder by uploading unmodified files to a Google Drive folder. Modified files will remain in the Download fold

DYA ( Ditch YouTube API ) is a package created to power the user with YouTube Data API functionality without any API Key

Ditch YouTubeAPI (BETA) DYA ( Ditch YouTube API ) is a package created to power the user with YouTube Data API functionality without any API Key Detai

A simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files.

yt-mp3 converter This is a simple Python program which uses youtube-dl for downloading YouTube videos as mp3 files. This program is for you if you are

Youtube Downloader by PyTube é uma ferramenta simples com interface gráfica e escrito em python para baixar vídeos e playlists do youtube...
Youtube Downloader by PyTube é uma ferramenta simples com interface gráfica e escrito em python para baixar vídeos e playlists do youtube...

YouTube Downloader by PyTube O que é o YouTube Downloader by PyTube? YouTube Downloader by PyTube é um software simples para baixar vídeos no YouTube

Youtube_dl_helper - A hacky python script meant to automate the process of downloading mp3 files from YouTube using youtube-dl library

youtube_dl_helper A helper program meant to automate the process of downloading mp3 files from YouTube using youtube-dl library Dependencies In order

Comments
  • You may need to add PYTHONIOENCODING=utf-8 to your environment

    You may need to add PYTHONIOENCODING=utf-8 to your environment

    Received after agreeing yes to all the channels that i want to download

    Traceback (most recent call last): File "main.py", line 83, in <module> c.print('All done! \U0001f389') File "/home/pi/.local/lib/python3.7/site-packages/rich/console.py", line 1506, in print self._buffer.extend(new_segments) File "/home/pi/.local/lib/python3.7/site-packages/rich/console.py", line 776, in __exit__ self._exit_buffer() File "/home/pi/.local/lib/python3.7/site-packages/rich/console.py", line 735, in _exit_buffer self._check_buffer() File "/home/pi/.local/lib/python3.7/site-packages/rich/console.py", line 1697, in _check_buffer self.file.write(text) UnicodeEncodeError: 'latin-1' codec can't encode character '\U0001f389' in position 10: ordinal not in range(256) *** You may need to add PYTHONIOENCODING=utf-8 to your environment ***

    wontfix 
    opened by TheNopePlant 2
  • Ability to mark downloaded videos if resulting files have been moved

    Ability to mark downloaded videos if resulting files have been moved

    Hi There,

    I was wondering if it would be possible when a channel is set to download, a log file is created that contains a list of all the videos on that channel.

    When a video is downloaded, the resulting log file is marked with a flag that states whether the video has already been downloaded. Thus is the drive you are downloading to fills up and the resulting files are moved to a different location, it is possible to know what has already been downloaded.

    At the start of the main.py script, all video names are downloaded and updated in the list. This would allow for the fetching of new videos. It would also require the existing videos in said list to not have their downloaded status flag altered.

    Hopefully my explanation makes sense.

    Cheers

    opened by TheNopePlant 1
  • Unable to pass --noauth_local_webserver when running headless install

    Unable to pass --noauth_local_webserver when running headless install

    Hi there,

    When setting up youtude-cdl on a headless Ubuntu 20.04 server install, i am unable to pass the --noauth_local_webserver flag to the application. I can see that in the code, there is no passing this flag through.

    See below... main.py: error: unrecognized arguments: --noauth_local_webserver

    I know it is possible to eventually get the linking to fail back where it asks for a verification code, although this is tempermental at best.

    opened by TheNopePlant 1
Owner
Anatoly
Anatoly
Jocomol 16 Dec 12, 2022
Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio.

YouTube-Downloader Tkinter based YouTube video downloader works on pytube 11.0.2. Can download YouTube videos in 720p(HD), 144p and even only audio. G

Manav Grover 2 Dec 27, 2021
Using Youtube downloader is the fast and easy way to download and save any YouTube video.

Youtube video downloader using Django Using Django as a backend along with pytube module to create Youtbue Video Downloader. https://yt-videos-downloa

Suman Raj Khanal 10 Jun 18, 2022
Youtube Downloader is a Graphic User Interface(GUI) that lets users download a Youtube Video or Audio through a URL

Youtube Downloader This Python and Tkinter based GUI allows users to directly download the Best Resolution Videos and Audios from Youtube. Pa-fy Insta

Samarth Kumar 2 Jun 25, 2022
YouTube-Video-Downloader - Download Youtube Videos for free.

YouTube-Video-Downloader Download Youtube Videos for free. Installing Dependencies:- Windows pip install pytube Mac/Linux pip3 install pytube Clonin

Xception Inc. 1 Jan 1, 2022
Youtube videos and channels scraper python wrapper!

YouTubeCrawle Wrapper for python Why This wrapper? This is wrapper is not limited to videos only it can scrape both channel and videos seperately ;D

Kei 16 Aug 8, 2022
A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

pytube 7.9k Jan 2, 2023
MMDL (Mega Music Downloader) - A tool to easily download music.

mmdl - Mega Music Downloader What is mmdl ❓ TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from Yo

techboy-coder 30 Dec 13, 2022
⚙️ A CLI tool that can download songs from youtube.

⚙️ Music Downloader Music Downloader is a tool that can download songs from Youtube. Installation Base requirements: Python 3.7+ If you have Python 3.

matjs 4 Nov 3, 2021
YT-Downloader is a Tool to download youtube video.

YT-Downloader YT-Downloader is a Tool to download youtube video.If you are looking for a simple video downloader tool Than This YT-Downloader may be u

Pradip Thapa 7 May 11, 2022