mirror of
https://github.com/darkzoul5/YoutubePlaylistSync.git
synced 2026-07-03 12:34:00 +03:00
Update README.md to enhance documentation with features, installation instructions, and usage examples
This commit is contained in:
@@ -1,3 +1,112 @@
|
|||||||
# YouTube-Playlist-Downloader
|
# YouTube Playlist Downloader
|
||||||
|
|
||||||
Little app to download music playlists from YouTube
|
A cross-platform tool and workflow for downloading entire YouTube playlists as MP3 files, using [yt-dlp](https://github.com/yt-dlp/yt-dlp), [ffmpeg](https://ffmpeg.org/), and [aria2c](https://github.com/aria2/aria2). 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
|
||||||
|
|
||||||
|
1. **Download the latest release:**
|
||||||
|
- Go to the [Releases](https://your.gitea.instance/youruser/YouTube-Playlist-Downloader/releases) page.
|
||||||
|
- Download the appropriate archive for your platform (Windows or Linux).
|
||||||
|
|
||||||
|
2. **Unzip the archive:**
|
||||||
|
- Extract the contents to a folder of your choice.
|
||||||
|
|
||||||
|
3. **Edit configuration:**
|
||||||
|
- Open `yt-playlist-config.json` and adjust paths and playlist URLs as needed.
|
||||||
|
|
||||||
|
4. **Run the downloader:**
|
||||||
|
- On Windows:
|
||||||
|
```sh
|
||||||
|
python yt-playlist-main.py
|
||||||
|
```
|
||||||
|
- On Linux:
|
||||||
|
```sh
|
||||||
|
python3 yt-playlist-main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
Edit `yt-playlist-config.json` to specify playlists and paths:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"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`, and `archive`.
|
||||||
|
- **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
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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.json` are correct.
|
||||||
|
- **No tracks downloaded:** Check playlist URL and archive file.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See [LICENSE](LICENSE).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
|
||||||
|
- [yt-dlp](https://github.com/yt-dlp/yt-dlp)
|
||||||
|
- [ffmpeg](https://ffmpeg.org/)
|
||||||
|
- [aria2c](https://github.com/aria2/aria2)
|
||||||
|
|
||||||
|
---
|
||||||
Reference in New Issue
Block a user