This application allows you to download audio from YouTube playlists in various formats. It's a modern replacement for the obsolete YouTube-Playlist-MP3-Downloader.
-
Download audio from YouTube playlists
-
Support for multiple audio formats (M4A, MP3, WAV, FLAC, AAC, OPUS, VORBIS, ALAC, AC3, DTS)
-
User-friendly graphical interface
-
Concurrent downloads for faster processing
-
Easily extensible to support additional audio formats
-
Windows only
- Python 3.7 or higher
- FFmpeg (must be installed separately and available in your system PATH)
-
Install Python from the official website.
-
Install FFmpeg (choose one method):
a) Manual installation:
- Download the FFmpeg build from ffmpeg.org.
- Extract the archive to a folder (e.g.,
C:\ffmpeg
). - Add the
bin
folder (e.g.,C:\ffmpeg\bin
) to your system PATH:- Right-click on "This PC" or "My Computer" and select "Properties".
- Click on "Advanced system settings".
- Click on "Environment Variables".
- Under "System variables", find and select "Path", then click "Edit".
- Click "New" and add the path to the
bin
folder. - Click "OK" to close all dialogs.
b) Using Chocolatey package manager:
- First, install Chocolatey if you haven't already:
- For PowerShell (Run as Administrator):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- For CMD (Run as Administrator):
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
- For more installation options, refer to the official Chocolatey documentation.
- For PowerShell (Run as Administrator):
- After Chocolatey is installed, run:
choco install ffmpeg
-
Clone the repository:
git clone https://github.com/your-username/youtube-playlist-audio-downloader.git cd youtube-playlist-audio-downloader
-
Create a virtual environment:
python -m venv venv venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Activate the virtual environment (if not already activated):
- Windows:
venv\Scripts\activate
- Windows:
-
Run the application:
python main.py
-
In the GUI:
- Enter the YouTube playlist URL
- Select the desired audio format
- Click "Download" to start the process
-
The downloaded audio files will be saved in your "Downloads" folder under a subfolder named "YouTube Playlist [Format]".
main.py
: The main script that initializes the application and handles the download process.gui.py
: Contains the GUI implementation using PySide6.audio_formats.py
: Defines the available audio formats and their properties.
You can add new audio formats by modifying the audio_formats.py
file. This file contains the definitions for various audio formats that the downloader supports. Here's how you can add a new format:
-
Open
audio_formats.py
in your text editor. -
Locate the
AUDIO_FORMATS
list. -
Add a new
AudioFormat
object to the list. For example:AudioFormat("WMA", "wma", "bestaudio/best", "wmav2"),
The
AudioFormat
class has the following attributes:name
: The name of the format (as it will appear in the GUI)extension
: The file extension for the formatydl_format
: The yt-dlp format stringffmpeg_codec
: The FFmpeg codec name
-
Save the file. The new format will now be available in the GUI's format selection dropdown.
Remember to choose appropriate values for the yt-dlp format string and FFmpeg codec to ensure compatibility with your desired audio format. Refer to yt-dlp repo for more information on the YouTubeDL class.
The application currently supports the following audio formats:
- M4A (AAC)
- MP3
- WAV
- FLAC
- AAC
- OPUS
- VORBIS (OGG)
- ALAC
- AC3
- DTS
- If you encounter any issues with FFmpeg, ensure it's properly installed and available in your system PATH.
- For Windows users:
- If you see an error related to
VCRUNTIME140.dll
, you may need to install the Microsoft Visual C++ Redistributable. - If FFmpeg is not recognized as a command, try restarting your command prompt or PowerShell after installing FFmpeg or adding it to the PATH.
- If you see an error related to
See requirements.txt
for a list of Python dependencies. The main dependencies include:
- PySide6
- yt-dlp
- FFmpeg (must be installed separately and available in your system PATH)
MIT License
This tool is for personal use only. Respect copyright laws and YouTube's terms of service when using this application.
The developer of this software takes no responsibility for any misuse of this tool or any violations of YouTube's terms of service or any applicable laws. Users are solely responsible for how they use this software and for ensuring that their use complies with all relevant laws and terms of service.
By using this software, you agree that the developer cannot be held liable for any legal issues, account suspensions, or any other consequences that may arise from your use of this tool.
Use this software at your own risk and discretion. If you do not agree with these terms, do not use this software.