mirror of
https://github.com/darkzoul5/YoutubePlaylistSync.git
synced 2026-07-03 12:34:00 +03:00
5df314eb7e5d3d4be1db6ad9278857d6221f3bb5
YouTube Playlist Downloader
A cross-platform tool and workflow for downloading entire YouTube playlists as MP3 files, using yt-dlp, ffmpeg, and aria2c. Includes Gitea CI/CD workflow for packaging and releasing Windows and Linux binaries.
Features
- Download full YouTube playlists as high-quality MP3 files.
- Parallel downloads using aria2c for speed.
- Automatic numbering: numbers tracks same as the origin playlist.
- Cleanup of tracks: optioon to remove tracks not in playlist anymore.
- Configurable output paths and archive tracking.
- Cross-platform: Windows and Linux support.
- Gitea CI/CD workflow for automated packaging and release.
Requirements
- Python 3.8+
Installation
Quick Start
-
Download the latest release:
- Go to the Releases page.
- Download the appropriate archive for your platform (Windows or Linux).
-
Unzip the archive:
- Extract the contents to a folder of your choice.
-
Edit configuration:
- Open
yt-playlist-config.jsonand adjust paths and playlist URLs as needed.
- Open
-
Run the downloader:
- On Windows:
python yt-playlist-main.py - On Linux:
python3 yt-playlist-main.py
- On Windows:
Usage
Configuration
Edit yt-playlist-config.json to specify playlists and paths:
{
"playlists": [
{
"url": "https://www.youtube.com/playlist?list=playlistidhere",
"save_path": "./music",
"archive": "archive.txt"
}
],
"yt_dlp_path": "./bin/yt-dlp.exe",
"ffmpeg_path": "./bin/ffmpeg.exe",
"aria2c_path": "./bin/aria2c.exe",
"max_parallel_downloads": 10,
"aria2c_connections": 8
}
- playlists: List of playlist objects. Each must have a
url,save_path, andarchive. - yt_dlp_path, ffmpeg_path, aria2c_path: Paths to binaries (relative or absolute).
- max_parallel_downloads: Number of simultaneous downloads.
- aria2c_connections: Connections per download.
Running
python yt-playlist-main.py
- The script will check for binaries, update yt-dlp, and download all new tracks in the playlist.
- Tracks are saved and numbered in the specified folder.
- Deleted/private videos are skipped.
- Archive file prevents re-downloading existing tracks.
Troubleshooting
- No binaries found: Ensure paths in
yt-playlist-config.jsonare correct. - No tracks downloaded: Check playlist URL and archive file.
License
See LICENSE.
Credits
Description
Languages
Python
100%