Signed-off-by: mbrucedogs <mbrucedogs@gmail.com>
This commit is contained in:
parent
aa28101926
commit
28364daacd
38
README.md
38
README.md
@ -14,6 +14,9 @@ A Python-based Windows CLI tool to download karaoke videos from YouTube channels
|
||||
- 🧹 **Reset/Clear Channel**: Reset all tracking and files for a channel, or clear channel cache via CLI
|
||||
- 🗂️ **Latest-per-channel download**: Download the latest N videos from each channel in a single batch, with a per-channel download plan, robust resume, and unique plan cache. Use --latest-per-channel and --limit N.
|
||||
- 🧩 **Fuzzy Matching**: Optionally use fuzzy string matching for songlist-to-video matching (with --fuzzy-match, requires rapidfuzz for best results)
|
||||
- ⚡ **Fast Mode with Early Exit**: When a limit is set, scans channels and songs in order, downloads immediately when a match is found, and stops as soon as the limit is reached with successful downloads
|
||||
- 🔄 **Deduplication Across Channels**: Ensures the same song is not downloaded from multiple channels, even if it appears in more than one channel's video list
|
||||
- 📋 **Default Channel File**: Automatically uses data/channels.txt as the default channel list for songlist modes (no need to specify --file every time)
|
||||
|
||||
## 📋 Requirements
|
||||
- **Windows 10/11**
|
||||
@ -30,14 +33,19 @@ A Python-based Windows CLI tool to download karaoke videos from YouTube channels
|
||||
python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos
|
||||
```
|
||||
|
||||
### Download from a List of Channels
|
||||
### Download Only Songlist Songs (Fast Mode)
|
||||
```bash
|
||||
python download_karaoke.py --file data/channels.txt
|
||||
python download_karaoke.py --songlist-only --limit 5
|
||||
```
|
||||
|
||||
### Download Only Songlist Songs
|
||||
### Download with Fuzzy Matching
|
||||
```bash
|
||||
python download_karaoke.py --songlist-only
|
||||
python download_karaoke.py --songlist-only --limit 10 --fuzzy-match --fuzzy-threshold 85
|
||||
```
|
||||
|
||||
### Download Latest N Videos Per Channel
|
||||
```bash
|
||||
python download_karaoke.py --latest-per-channel --limit 5
|
||||
```
|
||||
|
||||
### Prioritize Songlist in Download Queue
|
||||
@ -60,11 +68,6 @@ python download_karaoke.py --limit 5
|
||||
python download_karaoke.py --resolution 1080p
|
||||
```
|
||||
|
||||
### Download Latest N Videos Per Channel
|
||||
```bash
|
||||
python download_karaoke.py --file data/channels.txt --latest-per-channel --limit 5
|
||||
```
|
||||
|
||||
### **Reset/Start Over for a Channel**
|
||||
```bash
|
||||
python download_karaoke.py --reset-channel SingKingKaraoke
|
||||
@ -134,11 +137,11 @@ KaroakeVideoDownloader/
|
||||
```
|
||||
|
||||
## 🚦 CLI Options
|
||||
- `--file <data/channels.txt>`: Download from a list of channels
|
||||
- `--file <data/channels.txt>`: Download from a list of channels (optional, defaults to data/channels.txt for songlist modes)
|
||||
- `--songlist-priority`: Prioritize songlist songs in download queue
|
||||
- `--songlist-only`: Download only songs from the songlist
|
||||
- `--songlist-status`: Show songlist download progress
|
||||
- `--limit <N>`: Limit number of downloads
|
||||
- `--limit <N>`: Limit number of downloads (enables fast mode with early exit)
|
||||
- `--resolution <720p|1080p|...>`: Override resolution
|
||||
- `--status`: Show download/tracking status
|
||||
- `--reset-channel <CHANNEL_NAME>`: **Reset all tracking and files for a channel**
|
||||
@ -150,9 +153,16 @@ KaroakeVideoDownloader/
|
||||
|
||||
## 📝 Example Usage
|
||||
```bash
|
||||
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 --songlist-status
|
||||
# Fast mode with fuzzy matching (no need to specify --file)
|
||||
python download_karaoke.py --songlist-only --limit 10 --fuzzy-match --fuzzy-threshold 85
|
||||
|
||||
# Latest videos per channel
|
||||
python download_karaoke.py --latest-per-channel --limit 5
|
||||
|
||||
# Traditional full scan (no limit)
|
||||
python download_karaoke.py --songlist-only
|
||||
|
||||
# Channel-specific operations
|
||||
python download_karaoke.py --reset-channel SingKingKaraoke
|
||||
python download_karaoke.py --reset-channel SingKingKaraoke --reset-songlist
|
||||
python download_karaoke.py --clear-cache all
|
||||
|
||||
Loading…
Reference in New Issue
Block a user