This project allows you to download videos from a YouTube playlist, convert them to MP3, attach the correct thumbnail from the video as the song's icon, and set metadata such as author, album, and other details. I just had to push something, 2y ago me was embarrassing :/
- Playlist Download: Download all videos from a given YouTube playlist URL.
- MP3 Conversion: Convert downloaded videos into high-quality MP3 files.
- Thumbnail Embedding: Automatically extract and embed video thumbnails as icons for the MP3 files.
- Metadata Tagging: Set metadata like title, artist, album, and genre for each MP3 file based on video details.
-
Clone the repository:
git clone https://github.com/asdat3/youtube_spotify_download.git cd youtube_spotify_download
-
Install the required Python packages:
pip install -r requirements.txt
-
Ensure FFmpeg is installed and accessible from the command line.
- On Windows: Download FFmpeg and add it to your PATH.
- On Linux: Install via Homebrew or package manager:
brew install ffmpeg
- On Mac: you should just buy youtube premium
-
Edit the
main.py
to customize your settings -
Run the script with a YouTube playlist URL:
python main.py
- Download Videos: Videos from the playlist are downloaded using
yt-dlp
. - Convert to MP3: FFmpeg converts the downloaded videos into MP3 files.
- Extract and Embed Thumbnail: Thumbnails are extracted from the video and embedded into the MP3 as album art.
- Set Metadata: The script sets metadata such as:
- Title: Based on video title.
- Artist: Based on the YouTube channel name.
- Album: User-defined or based on the playlist name.
- Add support for individual video URLs.
- Include error handling for unavailable videos.
- Allow users to customize metadata fields interactively.
- Add a GUI for non-technical users.
Contributions are welcome! If you'd like to contribute, please fork the repository and submit a pull request.
This tool is intended for educational purposes only. Please ensure that you comply with YouTube's Terms of Service and copyright laws when using this project.