Signed-off-by: mbrucedogs <mbrucedogs@gmail.com>
This commit is contained in:
parent
f3723137fa
commit
837ecf2ec4
8
PRD.md
8
PRD.md
@ -38,6 +38,8 @@ A Python-based Windows CLI tool to download karaoke videos from YouTube channels
|
|||||||
python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos
|
python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos
|
||||||
python download_karaoke.py --file data/channels.txt
|
python download_karaoke.py --file data/channels.txt
|
||||||
python download_karaoke.py --songlist-only
|
python download_karaoke.py --songlist-only
|
||||||
|
python download_karaoke.py --reset-channel SingKingKaraoke --reset-songlist
|
||||||
|
python download_karaoke.py --clear-cache SingKingKaraoke
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -61,6 +63,8 @@ python download_karaoke.py --songlist-only
|
|||||||
- ✅ ID3 tagging for artist/title in MP4 files (mutagen)
|
- ✅ ID3 tagging for artist/title in MP4 files (mutagen)
|
||||||
- ✅ Real-time progress and detailed logging
|
- ✅ Real-time progress and detailed logging
|
||||||
- ✅ Automatic cleanup of extra yt-dlp files
|
- ✅ Automatic cleanup of extra yt-dlp files
|
||||||
|
- ✅ **Reset/clear channel tracking and files via CLI**
|
||||||
|
- ✅ **Clear channel cache via CLI**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -107,6 +111,9 @@ KaroakeVideoDownloader/
|
|||||||
- `--limit <N>`: Limit number of downloads
|
- `--limit <N>`: Limit number of downloads
|
||||||
- `--resolution <720p|1080p|...>`: Override resolution
|
- `--resolution <720p|1080p|...>`: Override resolution
|
||||||
- `--status`: Show download/tracking status
|
- `--status`: Show download/tracking status
|
||||||
|
- `--reset-channel <CHANNEL_NAME>`: **Reset all tracking and files for a channel**
|
||||||
|
- `--reset-songlist`: **When used with --reset-channel, also reset songlist songs for this channel**
|
||||||
|
- `--clear-cache <CHANNEL_ID|all>`: **Clear channel video cache for a specific channel or all**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -116,6 +123,7 @@ KaroakeVideoDownloader/
|
|||||||
- **Batch/Caching:** Channel video lists are cached to minimize API calls; tracking is batch-saved for performance.
|
- **Batch/Caching:** Channel video lists are cached to minimize API calls; tracking is batch-saved for performance.
|
||||||
- **ID3 Tagging:** Artist/title extracted from video title and embedded in MP4 files.
|
- **ID3 Tagging:** Artist/title extracted from video title and embedded in MP4 files.
|
||||||
- **Cleanup:** Extra files from yt-dlp (e.g., `.info.json`) are automatically removed after download.
|
- **Cleanup:** Extra files from yt-dlp (e.g., `.info.json`) are automatically removed after download.
|
||||||
|
- **Reset/Clear:** Use `--reset-channel` to reset all tracking and files for a channel (optionally including songlist songs with `--reset-songlist`). Use `--clear-cache` to clear cached video lists for a channel or all channels.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
25
README.md
25
README.md
@ -11,6 +11,7 @@ A Python-based Windows CLI tool to download karaoke videos from YouTube channels
|
|||||||
- 🏷️ **ID3 Tagging**: Adds artist/title metadata to MP4 files
|
- 🏷️ **ID3 Tagging**: Adds artist/title metadata to MP4 files
|
||||||
- 🧹 **Automatic Cleanup**: Removes extra yt-dlp files
|
- 🧹 **Automatic Cleanup**: Removes extra yt-dlp files
|
||||||
- 📈 **Real-Time Progress**: Detailed console and log output
|
- 📈 **Real-Time Progress**: Detailed console and log output
|
||||||
|
- 🧹 **Reset/Clear Channel**: Reset all tracking and files for a channel, or clear channel cache via CLI
|
||||||
|
|
||||||
## 📋 Requirements
|
## 📋 Requirements
|
||||||
- **Windows 10/11**
|
- **Windows 10/11**
|
||||||
@ -55,6 +56,22 @@ python download_karaoke.py --limit 5
|
|||||||
python download_karaoke.py --resolution 1080p
|
python download_karaoke.py --resolution 1080p
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### **Reset/Start Over for a Channel**
|
||||||
|
```bash
|
||||||
|
python download_karaoke.py --reset-channel SingKingKaraoke
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Reset Channel and Songlist Songs**
|
||||||
|
```bash
|
||||||
|
python download_karaoke.py --reset-channel SingKingKaraoke --reset-songlist
|
||||||
|
```
|
||||||
|
|
||||||
|
### **Clear Channel Cache**
|
||||||
|
```bash
|
||||||
|
python download_karaoke.py --clear-cache SingKingKaraoke
|
||||||
|
python download_karaoke.py --clear-cache all
|
||||||
|
```
|
||||||
|
|
||||||
## 🧠 Songlist Integration
|
## 🧠 Songlist Integration
|
||||||
- Place your prioritized song list in `data/songList.json` (see example format below).
|
- Place your prioritized song list in `data/songList.json` (see example format below).
|
||||||
- The tool will match and prioritize these songs across all available channel videos.
|
- The tool will match and prioritize these songs across all available channel videos.
|
||||||
@ -115,12 +132,18 @@ KaroakeVideoDownloader/
|
|||||||
- `--limit <N>`: Limit number of downloads
|
- `--limit <N>`: Limit number of downloads
|
||||||
- `--resolution <720p|1080p|...>`: Override resolution
|
- `--resolution <720p|1080p|...>`: Override resolution
|
||||||
- `--status`: Show download/tracking status
|
- `--status`: Show download/tracking status
|
||||||
|
- `--reset-channel <CHANNEL_NAME>`: **Reset all tracking and files for a channel**
|
||||||
|
- `--reset-songlist`: **When used with --reset-channel, also reset songlist songs for this channel**
|
||||||
|
- `--clear-cache <CHANNEL_ID|all>`: **Clear channel video cache for a specific channel or all**
|
||||||
|
|
||||||
## 📝 Example Usage
|
## 📝 Example Usage
|
||||||
```bash
|
```bash
|
||||||
python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos --songlist-priority --limit 10
|
python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos --songlist-priority --limit 10
|
||||||
python download_karaoke.py --file data/channels.txt --songlist-only
|
python download_karaoke.py --file data/channels.txt --songlist-only
|
||||||
python download_karaoke.py --songlist-status
|
python download_karaoke.py --songlist-status
|
||||||
|
python download_karaoke.py --reset-channel SingKingKaraoke
|
||||||
|
python download_karaoke.py --reset-channel SingKingKaraoke --reset-songlist
|
||||||
|
python download_karaoke.py --clear-cache all
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🏷️ ID3 Tagging
|
## 🏷️ ID3 Tagging
|
||||||
@ -129,7 +152,7 @@ python download_karaoke.py --songlist-status
|
|||||||
## 🧹 Cleanup
|
## 🧹 Cleanup
|
||||||
- Removes `.info.json` and `.meta` files after download
|
- Removes `.info.json` and `.meta` files after download
|
||||||
|
|
||||||
## 🧩 Configuration
|
## 🛠️ Configuration
|
||||||
- All options are in `data/config.json` (format, resolution, metadata, etc.)
|
- All options are in `data/config.json` (format, resolution, metadata, etc.)
|
||||||
- You can edit this file or use CLI flags to override
|
- You can edit this file or use CLI flags to override
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user