Skip to main content

Youtube Music Downloader

Project description

YouTube Music Downloader


Prerequisites   |   Setup   |   Usage   |   Change Defaults   |   Acknowledgements   

forthebadge made-with-python

Travis (.org) License PyPI AUR PyPI - Downloads PRs Welcome

Prerequisites

  • Python 3.x
  • ffmpeg

Setup

  • Hate your stable life? Love living on the bleeding edge?

    Clone the repo and install manually.

    git clone https://github.com/deepjyoti30/ytmdl && cd ytmdl && sudo python setup.py install
    
  • Get the last released version?

    Available in AUR here

    yay -S ytmdl
    

    Available in PyPi here

    pip install ytmdl
    

    Please install ffmpeg manually

Usage

usage: ytmdl [-h] [-q] [--song SONG-METADATA] [--choice CHOICE] [--artist ARTIST]
             [--album ALBUM] [--disable-metaadd] [--proxy URL] [--url URL] [-s]
             [--list PATH TO LIST] [--nolocal] [--version] [--level LEVEL]
             [--disable-file] [--list-level]
             [SONG_NAME [SONG_NAME ...]]

positional arguments:
  SONG_NAME             Name of the song to download.

optional arguments:
  -h, --help            show this help message and exit
  -q, --quiet           Don't ask the user to select songs if more than one search
                        result. The first result in each case will be considered.
  --proxy URL           Use the specified HTTP/HTTPS/SOCKS proxy. To enable SOCKS
                        proxy, specify a proper scheme. For example
                        socks5://127.0.0.1:1080/. Pass in an empty string (--proxy
                        "") for direct connection
  --url URL             Youtube song link.
  -s, --setup           Setup the config file
  --list PATH TO LIST   Download list of songs. The list should have one song name in
                        every line.
  --nolocal             Don't search locally for the song before downloading.
  --version             show the program version number and exit

Metadata:
  --song SONG-METADATA  The song to search in Metadata. Particularly useful for songs
                        that have the names in a different language in YouTube. For
                        Example, greek songs.
  --choice CHOICE       The choice that the user wants to go for. Usefull to pass
                        along with --quiet. Choices start at 1
  --artist ARTIST       The name of the song's artist. Pass it with a song name.
  --album ALBUM         The name of the song's album. Pass it with a song name.
  --disable-metaadd     Disable addition of passed artist and album keyword to the
                        youtube search in order to get a more accurate result.
                        (Default: false)

Logger:
  --level LEVEL         The level of the logger that will be used while verbosing.
                        Use `--list-level` to check available options.
  --disable-file        Disable logging to files
  --list-level          List all the available logger levels.

Change Defaults

The defaults can be changed by editing the config file in ytmdl folder in your .config folder

Supported options to change are:

Name
SONG_DIR Directory to save the songs in after editing
SONG_QUALITY Quality of the song

SONG_DIR also takes values that are extracted from the song

Example format is /your/desired/path$Album->Artist->Title to save in the following way
|--your
    |--desired
           |--path
                |--Album
                        |--Artist
                                |--Title
                                    |--Song.mp3

Adding any tag at the end of the SONG_DIR between [] will be considered the name of the song.

Example format is /your/desired/path$Album->Artist->[Title] to save in the following way
|--your
    |--desired
        |--path
            |--Album
                |--Artist
                    |--Title.mp3

Supported options are:

Name
Artist Artist Of the Song
Album Album Of the Song
Title Title Of the Song
Genre Genre Of the Song
TrackNumber TrackNumber Of the Song
ReleaseDate ReleaseDate Of the Song

Acknowledgements

  • Inspired from https://github.com/tterb/yt2mp3

  • Thanks to the developers of youtube-dl, itunespy, mutagen, colorama and Python.

  • Thanks to itunes and gaana for their awesome API's.

  • Thanks to Nishan Pantha for search logic.

  • Thanks to Biswaroop for testing in windows.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytmdl-2020.3.21.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytmdl-2020.3.21-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file ytmdl-2020.3.21.tar.gz.

File metadata

  • Download URL: ytmdl-2020.3.21.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.2

File hashes

Hashes for ytmdl-2020.3.21.tar.gz
Algorithm Hash digest
SHA256 1def05406bdaca16f3d30f119f0897daac9c9855f25f9156e1688f378e7acee1
MD5 e15d0de979ab9fbaf779911de268739c
BLAKE2b-256 03678662ea8a751b7340896b87c3880efaf56e577aafdbb393b1c194d472d6d1

See more details on using hashes here.

File details

Details for the file ytmdl-2020.3.21-py3-none-any.whl.

File metadata

  • Download URL: ytmdl-2020.3.21-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.8.2

File hashes

Hashes for ytmdl-2020.3.21-py3-none-any.whl
Algorithm Hash digest
SHA256 cac7cfb4a7d8ecf6f7249b7c336313df31e0d0f2b0ea3a83797281bcd836787b
MD5 bb0ee24041d1fbef6d3ebd78b548aa9a
BLAKE2b-256 bd516d9d02ae32e876f7ee9822084ae94fb7e8eed5ac3b625c14d9f3942264e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page