Thanks to visit codestin.com
Credit goes to GitHub.com

Skip to content

ezdl is an Easy (Video) Download tool written in Python and uses readily available libraries in order to simplify the process of downloading videos from varying sources right from the terminal.

Notifications You must be signed in to change notification settings

irfanhakim-as/ezdl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ezdl: Easy (Video) Download

About

ezdl is an Easy (Video) Download tool written in Python and uses readily available libraries in order to simplify the process of downloading videos from varying sources right from the terminal.

Requirements

Operating System

  • Linux
  • macOS
  • Windows (using WSL)

System software

  • bash 5.0+
  • ffmpeg 6.1.1+
  • python 3.0+

Features

  • Simple yet useful configuration options to get things done the way you want it and to have that process reproducible.

    Examples:

    • Set a location where your cookies are stored and ezdl will recognise them and prompt you to pick one, if any, when you're downloading videos.
    • Define several download path options for ezdl to allow you to choose from when downloading.
    • Configure custom source profiles on top or in place of the ones provided by default i.e. Create a new instagram source profile with yt-dlp options to use when downloading from Instagram.
    • Set defaults for each option (i.e. source, download path, cookie) or don't and ezdl will determine a default for you.
  • Easy to use with essentially nothing to remember or recall when you need to download a video.

  • Very fast downloads and compatible with videos from a huge list of sources thanks to the yt-dlp project.

  • Custom sanitisation/parsing options for video links (i.e. automatically changing vimeo.com links to player.vimeo.com, x.com links to twitter.com, and removes tracking code from certain sites that are known to have them).

Installation

Follow these steps to install or update the programme for a single user or system-wide:

  1. Ensure that you have met all of the project requirements.

  2. Clone the repository:

    git clone https://github.com/irfanhakim-as/ezdl.git ~/.ezdl
  3. Get into the local repository:

    cd ~/.ezdl
  4. Install using the provided installer script.

    • To install the programme for a single user, simply run the script as is:

      ./installer.sh

      By default, this will install the programme to the ~/.local prefix. Please ensure that the ~/.local/bin directory is in your PATH environment variable.

    • Alternatively, to install the programme system-wide, run the script with sudo:

      sudo ./installer.sh

      By default, this will install the programme to the /usr/local prefix.

    • To check out any other available installation options, append the --help flag to the command:

      ./installer.sh --help

Configuration

There are two configuration files available that are provided by default after using ezdl for the first time:

  • ezdl.json: Configuration options pertaining to the ezdl tool. All supported options are detailed below.

  • source.json: Source profile configurations that are primarily used as yt-dlp download options you could pick from when you are downloading videos. They are meant to be set up for different sources or modes of downloading, for example:

    • One profile for downloading YouTube videos as mp4 files
    • Another profile for downloading YouTube videos as mp3 files
    • A profile for downloading videos off of social media sites like Twitter or Instagram

    Each of these profiles could be customised according to their specific needs (i.e. different quality preferences, formats, cookies, etc.)

They are both installed to ~/.config/ezdl by default.

ezdl.json

Option Description Sample Value Default Value
cookies_dir The directory where your cookie(s) are stored, if any. ~/Downloads/cookies ~/.ezdl/cookies
default_cookie The default cookie (.txt) file name to use/suggest. cookies if the file name is cookies.txt anonymous or the first available cookie if any
default_download_path The default download path name to use/suggest. current downloads or the first available download path
default_source The default source profile name to use/suggest. twitter The first available source profile
download_auto_subs Specifies whether or not ezdl should download automatically generated video subtitles. true false
download_paths A dictionary of download path options comprised of their name and path. {"videos": "~/Videos", "movies": "~/Movies"} {"downloads": "~/Downloads", "current": "."}
download_subtitles Specifies whether or not ezdl should download video subtitles. true false
sanitise_links Specifies whether or not ezdl should sanitise video links. false true
subtitle_format The preferred subtitle format to download if available. vtt srt
subtitle_lang A list of language codes to download video subtitles for. ["ja", "ko"] ["en.*"]

Usage

  1. Ensure that you have installed the project successfully.

  2. The easiest way to use ezdl is to use the ezdl command as is:

    ezdl

    This will walk you through picking a source profile, a download path, and a cookie (if available) before then getting the video links from you and downloading them accordingly.

  3. You may also use the help option to see other (optional) options available to ezdl:

    ezdl --help

Uninstallation

Follow these steps to uninstall the programme:

  1. Get into the local repository:

    cd ~/.ezdl
  2. Uninstall using the same installer script:

    • If you have previously installed the programme for a single user, run the script as is with the --uninstall flag:

      ./installer.sh --uninstall
    • Alternatively, if you have installed the programme system-wide, run the script with sudo:

      sudo ./installer.sh --uninstall
    • (Optional) Remove the user configuration directory and the local repository:

      rm -rf ~/.config/ezdl ~/.ezdl

About

ezdl is an Easy (Video) Download tool written in Python and uses readily available libraries in order to simplify the process of downloading videos from varying sources right from the terminal.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published