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 YouTube.
I wanted a tool to quickly and efficiently download songs/audios from YouTube based on the name of the song. I also wanted the songs to be tagged with metadata. This is why I created this simple to use tool.
Why
-
π Fast: Thanks to async code and multithreading. -
β‘ Simple: Typemmdl go
and get started with downloading songs. -
β¨ Powerful- Find songs based on songs query/title
- Skip already existing songs
- Add metadata such as artist name and artwork
π
Requirements -
Python 3
-
FFmpeg
Here is a quick guide: https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg
β€οΈ
Install Make sure you have installed FFmpeg. Else this programm wonβt work.
pip install -U mmdl
π₯
Usage Go
Very quick and easy way of running the cli. Few questions will be asked via prompts. This is the recommended way!
mmdl go
Download
Fast and traditional way of running the cli. Pass arguments and have your songs downloaded. Useful for automation scripts.
mmdl download <method> #(add -h for more information)
Methods
- File
mmdl download file
: Get songs from file. Then download them. - List
mmdl download list "Term1" "Term2" ...
ormmdl download list -a
for a prompt: Add multiple songs as cli arguments or enter them in a prompt. - YTMusic (beta)
mmdl download ytmusi
: Download multiple songs from YouTube Music liked songs playlist (via parsing HTML) - Single
mmdl download single song name
: Download a single song.
β‘
Support
π
Bugs Please open a issue with some information to reproduce your problem.
β
Questions Please start/search for a discussion.
π€
Contributing We welcome contributions very much (Even small ones). They are appreciated.
Steps
- Check for bugs/issues you would like to solve or think of new features you would like to implement.
- Fork the repo and make your changes.
- Send a pull request.
π₯
Credits The following amazing libraries helped me make this project:
- https://github.com/tmbo/questionary - Questionary by Tom Bocklisch and Kian Cross
- https://github.com/alexmercerind/youtube-search-python - Youtube Search Python by Hiteh Kumar Saini
- https://github.com/willmcgugan/rich - Rich by Will McGugan
- https://github.com/ytdl-org/youtube-dl - YoutubeDl
βοΈ
Legality I assume no liability or responsibility for how this app is used. Please stay legal and respect the laws in your country. This tool is intended for archiving music for which you have a license.
π
License The MIT License (MIT)
Copyright (c) 2021 - techboy-coder