Youtube Music Downloader
This app downloads a song by getting the audio from Youtube sources using youtube-dl and then adds song information like artist name, album name, release date, thumbnail etc by fetching it from sources like Itunes and Gaana.
NO. YoutubeDL doesn't do that. All youtube-dl does is lets you download audio from a video that you specify. This app is not yet another youtube-dl clone.
- Python 3.x
Available in PyPi here
pip install ytmdl
Available in AUR here
yay -S ytmdl
Available in src_prepare-overlay here
# First set up src_prepare-overlay (as root) emerge -av --noreplace app-eselect/eselect-repository eselect repository enable src_prepare-overlay emaint sync -r src_prepare-overlay # Finally emerge ytmdl (as root) emerge -av --autounmask net-misc/ytmdl
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
usage: ytmdl [-h] [-q] [--song SONG-METADATA] [--choice CHOICE] [--artist ARTIST] [--album ALBUM] [--disable-metaadd] [--proxy URL] [--url URL] [--list PATH TO LIST] [--nolocal] [--format FORMAT] [--version] [--pl-start NUMBER] [--pl-end NUMBER] [--pl-items ITEM_SPEC] [--ignore-errors] [--level LEVEL] [--disable-file] [--list-level] [SONG_NAME [SONG_NAME ...]] positional arguments: SONG_NAME Name of the song to download. Can be an URL to a playlist as well. It will be automatically recognized. 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. --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. --format FORMAT The format in which the song should be downloaded. Default is [MP3]. Available options are [m4a] --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) Playlist: --pl-start NUMBER Playlist video to start at (default is 1) --pl-end NUMBER Playlist video to end at (default is last) --pl-items ITEM_SPEC Playlist video items to download. Specify indices of the videos present in the playlist seperated by commas like: '--playlist- items 1, 2, 4, 6' if you want to download videos indexed 1, 2, 4 and 6. Range can also be passed like: '--playlist-items 1-3, 5-7' to download the videos indexed at 1, 2, 3, 5, 6, 7. --ignore-errors Ignore if downloading any video fails in a playlist. If passed, the execution will move to the next video in the passed playlist. 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.
The defaults can be changed by editing the config file in ytmdl folder in your .config folder
NOTE: The config file can be created by using
ytmdl --setupand will be present in
Supported options to change are:
||Directory to save the songs in after editing|
||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:
||Artist Of the Song|
||Album Of the Song|
||Title Of the Song|
||Genre Of the Song|
||TrackNumber Of the Song|
||ReleaseDate Of the Song|
Support the project
If you like using this app, consider supporting the project/me
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.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size ytmdl-2020.5.14-py3-none-any.whl (28.0 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size ytmdl-2020.5.14.tar.gz (26.1 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for ytmdl-2020.5.14-py3-none-any.whl