diff --git a/PRD.md b/PRD.md index 708fb3f..299780f 100644 --- a/PRD.md +++ b/PRD.md @@ -197,6 +197,8 @@ KaroakeVideoDownloader/ - `--parallel`: **Enable parallel downloads for improved speed** - `--workers `: **Number of parallel download workers (1-10, default: 3, only used with --parallel)** - `--manual`: **Download from manual videos collection (data/manual_videos.json)** +- `--channel-focus `: **Download from a specific channel by name (e.g., 'SingKingKaraoke')** +- `--all-videos`: **Download all videos from channel (not just songlist matches), skipping existing files and songs in songs.json** --- @@ -389,3 +391,43 @@ The codebase has been comprehensively refactored to improve maintainability and - **Update documentation immediately when implementing new features** - **Remove outdated information and consolidate related changes** - **Ensure all CLI options and features are documented in both files** + +## šŸ”§ Recent Bug Fixes & Improvements (v3.4.4) +### **All Videos Download Mode** +- **New `--all-videos` parameter**: Download all videos from a channel, not just songlist matches +- **Smart MP3/MP4 detection**: Automatically detects if you have MP3 versions in songs.json and downloads MP4 video versions +- **Existing file skipping**: Skips videos that already exist on the filesystem +- **Progress tracking**: Shows clear progress with "Downloading X/Y videos" format +- **Parallel processing support**: Works with `--parallel --workers N` for faster downloads +- **Channel focus integration**: Works with `--channel-focus` to target specific channels +- **Limit support**: Works with `--limit N` to control download batch size + +### **Smart Songlist Integration** +- **MP4 version detection**: Checks if MP4 version already exists in songs.json before downloading +- **MP3 upgrade path**: Downloads MP4 video versions when only MP3 versions exist in songlist +- **Duplicate prevention**: Skips downloads when MP4 versions already exist +- **Efficient filtering**: Only processes videos that need to be downloaded + +### **Benefits of All Videos Mode** +- **Complete channel downloads**: Download entire channels without songlist restrictions +- **Automatic format upgrading**: Upgrade MP3 collections to MP4 video versions +- **Efficient processing**: Only downloads videos that don't already exist +- **Flexible control**: Use with limits, parallel processing, and channel targeting +- **Clear progress feedback**: Real-time progress tracking for large downloads + +--- + +## šŸš€ Future Enhancements +- [ ] Web UI for easier management +- [ ] More advanced song matching (multi-language) +- [ ] Download scheduling and retry logic +- [ ] More granular status reporting +- [x] **Parallel downloads for improved speed** āœ… **COMPLETED** +- [x] **Enhanced fuzzy matching with improved video title parsing** āœ… **COMPLETED** +- [x] **Consolidated extract_artist_title function** āœ… **COMPLETED** +- [x] **Duplicate file prevention and filename consistency** āœ… **COMPLETED** +- [ ] Unit tests for all modules +- [ ] Integration tests for end-to-end workflows +- [ ] Plugin system for custom file operations +- [ ] Advanced configuration UI +- [ ] Real-time download progress visualization diff --git a/README.md b/README.md index db42962..70c364c 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,21 @@ python data/cleanup_duplicate_files.py python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos ``` +### Download ALL Videos from a Channel (Not Just Songlist Matches) +```bash +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos +``` + +### Download ALL Videos with Parallel Processing +```bash +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --parallel --workers 10 +``` + +### Download ALL Videos with Limit +```bash +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --limit 100 +``` + ### Download Only Songlist Songs (Fast Mode) ```bash python download_karaoke.py --songlist-only --limit 5 @@ -325,6 +340,8 @@ KaroakeVideoDownloader/ - `--generate-songlist ...`: **Generate song list from MP4 files with ID3 tags in specified directories** - `--no-append-songlist`: **Create a new song list instead of appending when using --generate-songlist** - `--force`: **Force download from channels, bypassing all existing file checks and re-downloading if necessary** +- `--channel-focus `: **Download from a specific channel by name (e.g., 'SingKingKaraoke')** +- `--all-videos`: **Download all videos from channel (not just songlist matches), skipping existing files** ## šŸ“ Example Usage @@ -358,6 +375,11 @@ python download_karaoke.py --reset-channel SingKingKaraoke --reset-songlist python download_karaoke.py --clear-cache all python download_karaoke.py --clear-server-duplicates +# Download ALL videos from a specific channel +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --parallel --workers 10 +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --limit 100 + # Song list generation from MP4 files python download_karaoke.py --generate-songlist /path/to/mp4/directory python download_karaoke.py --generate-songlist /path/to/dir1 /path/to/dir2 --no-append-songlist diff --git a/commands.txt b/commands.txt index 6c03b07..cd07ca1 100644 --- a/commands.txt +++ b/commands.txt @@ -1,6 +1,6 @@ # šŸŽ¤ Karaoke Video Downloader - CLI Commands Reference # Copy and paste these commands into your terminal -# Updated: v3.4.3 (includes manual video collection, channel parsing rules, and all previous improvements) +# Updated: v3.4.4 (includes all videos download mode, manual video collection, channel parsing rules, and all previous improvements) ## šŸ“„ BASIC DOWNLOADS @@ -45,6 +45,26 @@ python add_manual_video.py list # Remove a video from manual collection python add_manual_video.py remove "Artist - Song Title (Karaoke Version)" +## šŸŽ¬ ALL VIDEOS DOWNLOAD MODE (v3.4.4) + +# Download ALL videos from a specific channel (not just songlist matches) +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos + +# Download ALL videos with parallel processing for speed +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --parallel --workers 10 + +# Download ALL videos with limit (download first N videos) +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --limit 100 + +# Download ALL videos with parallel processing and limit +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --parallel --workers 5 --limit 50 + +# Download ALL videos from ZoomKaraokeOfficial channel +python download_karaoke.py --channel-focus ZoomKaraokeOfficial --all-videos + +# Download ALL videos with custom resolution +python download_karaoke.py --channel-focus SingKingKaraoke --all-videos --resolution 1080p + ## šŸ“‹ SONG LIST GENERATION # Generate song list from MP4 files in a directory (append to existing song list) diff --git a/data/channel_cache/@SingKingKaraoke.json b/data/channel_cache/@SingKingKaraoke.json index 7e6457a..7956b78 100644 --- a/data/channel_cache/@SingKingKaraoke.json +++ b/data/channel_cache/@SingKingKaraoke.json @@ -20038,6 +20038,6 @@ "id": "iPt5vUHVROI" } ], - "last_updated": "2025-07-27T20:36:32.831332", + "last_updated": "2025-07-28T20:36:32.831332", "video_count": 5009 } \ No newline at end of file diff --git a/data/channel_cache/@ZoomKaraokeOfficial.json b/data/channel_cache/@ZoomKaraokeOfficial.json index ba712e9..83c2f79 100644 --- a/data/channel_cache/@ZoomKaraokeOfficial.json +++ b/data/channel_cache/@ZoomKaraokeOfficial.json @@ -38974,6 +38974,6 @@ "id": "_38gtxtjvPI" } ], - "last_updated": "2025-07-27T20:50:52.833995", + "last_updated": "2025-07-28T20:50:52.833995", "video_count": 9743 } \ No newline at end of file diff --git a/data/manual_videos.json b/data/manual_videos.json index 2479ace..cad56bd 100644 --- a/data/manual_videos.json +++ b/data/manual_videos.json @@ -26,6 +26,46 @@ "upload_date": "2024-01-01", "duration": 180, "view_count": 1000 + }, + { + "title": "AC/DC - Big Balls", + "url": "https://www.youtube.com/watch?v=kiSDpVmu4Bk", + "id": "kiSDpVmu4Bk", + "upload_date": "2024-01-01", + "duration": 180, + "view_count": 1000 + }, + { + "title": "Jon Bon Jovi - Blaze of Glory", + "url": "https://www.youtube.com/watch?v=SzRAoDMlQY", + "id": "SzRAoDMlQY", + "upload_date": "2024-01-01", + "duration": 180, + "view_count": 1000 + }, + { + "title": "ZZ Top - Sharp Dressed Man", + "url": "https://www.youtube.com/watch?v=prRalwto9iY", + "id": "prRalwto9iY", + "upload_date": "2024-01-01", + "duration": 180, + "view_count": 1000 + }, + { + "title": "Nickelback - Photograph", + "url": "https://www.youtube.com/watch?v=qTphCTAUhUg", + "id": "qTphCTAUhUg", + "upload_date": "2024-01-01", + "duration": 180, + "view_count": 1000 + }, + { + "title": "Billy Joel - Shes Got A Way", + "url": "https://www.youtube.com/watch?v=DeeTFIgKuC8", + "id": "DeeTFIgKuC8", + "upload_date": "2024-01-01", + "duration": 180, + "view_count": 1000 } ], "parsing_rules": { diff --git a/data/server_duplicates_tracking.json b/data/server_duplicates_tracking.json index 3b8e26f..baced93 100644 --- a/data/server_duplicates_tracking.json +++ b/data/server_duplicates_tracking.json @@ -8302,5 +8302,8045 @@ "channel": "@sing2karaoke", "marked_at": "2025-07-28T14:24:01.939201", "reason": "already_on_server" + }, + "george strait_the fireman": { + "artist": "George Strait", + "title": "The Fireman", + "video_title": "George Strait - The Fireman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:02.975312", + "reason": "already_on_server" + }, + "rihanna_breakin' dishes": { + "artist": "Rihanna", + "title": "Breakin' Dishes", + "video_title": "Rihanna - Breakin' Dishes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:02.999603", + "reason": "already_on_server" + }, + "jackson browne_somebody's baby": { + "artist": "Jackson Browne", + "title": "Somebody's Baby", + "video_title": "Jackson Browne - Somebody's Baby - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.023472", + "reason": "already_on_server" + }, + "laufey_from the start": { + "artist": "Laufey", + "title": "From The Start", + "video_title": "Laufey - From The Start - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.058482", + "reason": "already_on_server" + }, + "the beatles_two of us": { + "artist": "The Beatles", + "title": "Two Of Us", + "video_title": "The Beatles - Two Of Us - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.100942", + "reason": "already_on_server" + }, + "josh turner_would you go with me": { + "artist": "Josh Turner", + "title": "Would You Go With Me", + "video_title": "Josh Turner - Would You Go With Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.125900", + "reason": "already_on_server" + }, + "loretta lynn_fist city": { + "artist": "Loretta Lynn", + "title": "Fist City", + "video_title": "Loretta Lynn - Fist City - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.152006", + "reason": "already_on_server" + }, + "addison rae_diet pepsi": { + "artist": "Addison Rae", + "title": "Diet Pepsi", + "video_title": "Addison Rae - Diet Pepsi - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.173323", + "reason": "already_on_server" + }, + "the weeknd_dancing in the flames": { + "artist": "The Weeknd", + "title": "Dancing In The Flames", + "video_title": "The Weeknd - Dancing In The Flames - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.190878", + "reason": "already_on_server" + }, + "gracie abrams_i love you, i'm sorry": { + "artist": "Gracie Abrams", + "title": "I Love You, I'm Sorry", + "video_title": "Gracie Abrams - I Love You, I'm Sorry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.216447", + "reason": "already_on_server" + }, + "the b-52s_roam": { + "artist": "The B-52s", + "title": "Roam", + "video_title": "The B-52s - Roam - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.254824", + "reason": "already_on_server" + }, + "reba mcentire_fancy": { + "artist": "Reba McEntire", + "title": "Fancy", + "video_title": "Reba McEntire - Fancy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.276771", + "reason": "already_on_server" + }, + "kenny chesney_american kids": { + "artist": "Kenny Chesney", + "title": "American Kids", + "video_title": "Kenny Chesney - American Kids - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.303445", + "reason": "already_on_server" + }, + "meat loaf_rock and roll dreams come through": { + "artist": "Meat Loaf", + "title": "Rock And Roll Dreams Come Through", + "video_title": "Meat Loaf - Rock And Roll Dreams Come Through - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.331316", + "reason": "already_on_server" + }, + "arctic monkeys_505": { + "artist": "Arctic Monkeys", + "title": "505", + "video_title": "Arctic Monkeys - 505 - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.353312", + "reason": "already_on_server" + }, + "jo dee messina_heads carolina, tails california": { + "artist": "Jo Dee Messina", + "title": "Heads Carolina, Tails California", + "video_title": "Jo Dee Messina - Heads Carolina, Tails California - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.379059", + "reason": "already_on_server" + }, + "conway twitty_i'd love to lay you down": { + "artist": "Conway Twitty", + "title": "I'd Love To Lay You Down", + "video_title": "Conway Twitty - I'd Love To Lay You Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.398001", + "reason": "already_on_server" + }, + "don williams_lay down beside me": { + "artist": "Don Williams", + "title": "Lay Down Beside Me", + "video_title": "Don Williams - Lay Down Beside Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.429166", + "reason": "already_on_server" + }, + "chris janson_buy me a boat": { + "artist": "Chris Janson", + "title": "Buy Me A Boat", + "video_title": "Chris Janson - Buy Me A Boat - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.448168", + "reason": "already_on_server" + }, + "artemas_i like the way you kiss me": { + "artist": "Artemas", + "title": "I Like The Way You Kiss Me", + "video_title": "Artemas - I Like The Way You Kiss Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.466172", + "reason": "already_on_server" + }, + "janis joplin_me and bobby mcgee": { + "artist": "Janis Joplin", + "title": "Me And Bobby McGee", + "video_title": "Janis Joplin - Me And Bobby McGee - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.487773", + "reason": "already_on_server" + }, + "george strait_the cowboy rides away": { + "artist": "George Strait", + "title": "The Cowboy Rides Away", + "video_title": "George Strait - The Cowboy Rides Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.508084", + "reason": "already_on_server" + }, + "george strait_amarillo by morning": { + "artist": "George Strait", + "title": "Amarillo By Morning", + "video_title": "George Strait - Amarillo By Morning - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.525405", + "reason": "already_on_server" + }, + "etta james_stormy weather": { + "artist": "Etta James", + "title": "Stormy Weather", + "video_title": "Etta James - Stormy Weather - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.548673", + "reason": "already_on_server" + }, + "benson boone_slow it down": { + "artist": "Benson Boone", + "title": "Slow It Down", + "video_title": "Benson Boone - Slow It Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.568111", + "reason": "already_on_server" + }, + "mark ambor_belong together": { + "artist": "Mark Ambor", + "title": "Belong Together", + "video_title": "Mark Ambor - Belong Together - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.597516", + "reason": "already_on_server" + }, + "will smith_men in black": { + "artist": "Will Smith", + "title": "Men In Black", + "video_title": "Will Smith - Men In Black - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.616817", + "reason": "already_on_server" + }, + "ariana grande_yes, and": { + "artist": "Ariana Grande", + "title": "Yes, And", + "video_title": "Ariana Grande - Yes, And - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.650550", + "reason": "already_on_server" + }, + "the sound of music_so long, farewell": { + "artist": "The Sound Of Music", + "title": "So Long, Farewell", + "video_title": "The Sound Of Music - So Long, Farewell - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.672144", + "reason": "already_on_server" + }, + "kris kristofferson_help me make it through the night": { + "artist": "Kris Kristofferson", + "title": "Help Me Make It Through The Night", + "video_title": "Kris Kristofferson - Help Me Make It Through The Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.692639", + "reason": "already_on_server" + }, + "brett young_in case you didn't know": { + "artist": "Brett Young", + "title": "In Case You Didn't Know", + "video_title": "Brett Young - In Case You Didn't Know - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.712404", + "reason": "already_on_server" + }, + "conway twitty_tight fittin' jeans": { + "artist": "Conway Twitty", + "title": "Tight Fittin' Jeans", + "video_title": "Conway Twitty - Tight Fittin' Jeans - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.738519", + "reason": "already_on_server" + }, + "the temptations_lady soul": { + "artist": "The Temptations", + "title": "Lady Soul", + "video_title": "The Temptations - Lady Soul - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.763538", + "reason": "already_on_server" + }, + "dolly parton_i will always love you": { + "artist": "Dolly Parton", + "title": "I Will Always Love You", + "video_title": "Dolly Parton - I Will Always Love You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.793855", + "reason": "already_on_server" + }, + "beauty and the beast_be our guest": { + "artist": "Beauty And The Beast", + "title": "Be Our Guest", + "video_title": "Beauty And The Beast - Be Our Guest - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.813421", + "reason": "already_on_server" + }, + "bruno mars_talking to the moon": { + "artist": "Bruno Mars", + "title": "Talking To The Moon", + "video_title": "Bruno Mars - Talking To The Moon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.840990", + "reason": "already_on_server" + }, + "sabrina carpenter_a nonsense christmas": { + "artist": "Sabrina Carpenter", + "title": "A Nonsense Christmas", + "video_title": "Sabrina Carpenter - A Nonsense Christmas - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.872740", + "reason": "already_on_server" + }, + "luke combs_hurricane": { + "artist": "Luke Combs", + "title": "Hurricane", + "video_title": "Luke Combs - Hurricane - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.901111", + "reason": "already_on_server" + }, + "jon pardi_head over boots": { + "artist": "Jon Pardi", + "title": "Head Over Boots", + "video_title": "Jon Pardi - Head Over Boots - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.931658", + "reason": "already_on_server" + }, + "the hooters_and we danced": { + "artist": "The Hooters", + "title": "And We Danced", + "video_title": "The Hooters - And We Danced - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.966692", + "reason": "already_on_server" + }, + "dua lipa_houdini": { + "artist": "Dua Lipa", + "title": "Houdini", + "video_title": "Dua Lipa - Houdini - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:03.987601", + "reason": "already_on_server" + }, + "tim mcgraw_humble and kind": { + "artist": "Tim McGraw", + "title": "Humble And Kind", + "video_title": "Tim McGraw - Humble And Kind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.006565", + "reason": "already_on_server" + }, + "luke combs_beer never broke my heart": { + "artist": "Luke Combs", + "title": "Beer Never Broke My Heart", + "video_title": "Luke Combs - Beer Never Broke My Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.033450", + "reason": "already_on_server" + }, + "midland_drinkin' problem": { + "artist": "Midland", + "title": "Drinkin' Problem", + "video_title": "Midland - Drinkin' Problem - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.054448", + "reason": "already_on_server" + }, + "selena gomez_single soon": { + "artist": "Selena Gomez", + "title": "Single Soon", + "video_title": "Selena Gomez - Single Soon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.074815", + "reason": "already_on_server" + }, + "postmodern jukebox_barbie girl": { + "artist": "Postmodern Jukebox", + "title": "Barbie Girl", + "video_title": "Postmodern Jukebox - Barbie Girl - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.093019", + "reason": "already_on_server" + }, + "jace everett_bad things": { + "artist": "Jace Everett", + "title": "Bad Things", + "video_title": "Jace Everett - Bad Things - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.112880", + "reason": "already_on_server" + }, + "billy joel_all for leyna": { + "artist": "Billy Joel", + "title": "All For Leyna", + "video_title": "Billy Joel - All For Leyna - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.135486", + "reason": "already_on_server" + }, + "glen campbell_southern nights": { + "artist": "Glen Campbell", + "title": "Southern Nights", + "video_title": "Glen Campbell - Southern Nights - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.156824", + "reason": "already_on_server" + }, + "kenya grace_strangers": { + "artist": "Kenya Grace", + "title": "Strangers", + "video_title": "Kenya Grace - Strangers - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.173732", + "reason": "already_on_server" + }, + "susan boyle_silent night": { + "artist": "Susan Boyle", + "title": "Silent Night", + "video_title": "Susan Boyle - Silent Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.195526", + "reason": "already_on_server" + }, + "postmodern jukebox_lovefool": { + "artist": "Postmodern Jukebox", + "title": "Lovefool", + "video_title": "Postmodern Jukebox - Lovefool - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.224028", + "reason": "already_on_server" + }, + "brook benton_rainy night in georgia": { + "artist": "Brook Benton", + "title": "Rainy Night In Georgia", + "video_title": "Brook Benton - Rainy Night In Georgia - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.251379", + "reason": "already_on_server" + }, + "art garfunkel_i only have eyes for you": { + "artist": "Art Garfunkel", + "title": "I Only Have Eyes For You", + "video_title": "Art Garfunkel - I Only Have Eyes For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.273336", + "reason": "already_on_server" + }, + "heart_what about love": { + "artist": "Heart", + "title": "What About Love", + "video_title": "Heart - What About Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.305911", + "reason": "already_on_server" + }, + "frank sinatra_moon river": { + "artist": "Frank Sinatra", + "title": "Moon River", + "video_title": "Frank Sinatra - Moon River - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.332098", + "reason": "already_on_server" + }, + "brook benton_it's just a matter of time": { + "artist": "Brook Benton", + "title": "It's Just A Matter Of Time", + "video_title": "Brook Benton - It's Just A Matter Of Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.357917", + "reason": "already_on_server" + }, + "jason mraz_make it mine": { + "artist": "Jason Mraz", + "title": "Make It Mine", + "video_title": "Jason Mraz - Make It Mine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.383847", + "reason": "already_on_server" + }, + "nicky youre & dazy_sunroof": { + "artist": "Nicky Youre & Dazy", + "title": "Sunroof", + "video_title": "Nicky Youre & Dazy - Sunroof - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.402962", + "reason": "already_on_server" + }, + "ronnie milsap_stranger in my house": { + "artist": "Ronnie Milsap", + "title": "Stranger In My House", + "video_title": "Ronnie Milsap - Stranger In My House - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.432741", + "reason": "already_on_server" + }, + "sam cooke_bring it on home to me": { + "artist": "Sam Cooke", + "title": "Bring It On Home To Me", + "video_title": "Sam Cooke - Bring It On Home To Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.459464", + "reason": "already_on_server" + }, + "sam cooke_a change is gonna come": { + "artist": "Sam Cooke", + "title": "A Change Is Gonna Come", + "video_title": "Sam Cooke - A Change Is Gonna Come - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.482679", + "reason": "already_on_server" + }, + "postmodern jukebox_seven nation army": { + "artist": "Postmodern Jukebox", + "title": "Seven Nation Army", + "video_title": "Postmodern Jukebox - Seven Nation Army - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.501900", + "reason": "already_on_server" + }, + "the foundations_build me up buttercup": { + "artist": "The Foundations", + "title": "Build Me Up Buttercup", + "video_title": "The Foundations - Build Me Up Buttercup - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.526792", + "reason": "already_on_server" + }, + "ronnie milsap_it was almost like a song": { + "artist": "Ronnie Milsap", + "title": "It Was Almost Like A Song", + "video_title": "Ronnie Milsap - It Was Almost Like A Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.552974", + "reason": "already_on_server" + }, + "postmodern jukebox_careless whisper": { + "artist": "Postmodern Jukebox", + "title": "Careless Whisper", + "video_title": "Postmodern Jukebox - Careless Whisper - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.580658", + "reason": "already_on_server" + }, + "the killers_mr brightside": { + "artist": "The Killers", + "title": "Mr Brightside", + "video_title": "The Killers - Mr Brightside - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.607886", + "reason": "already_on_server" + }, + "lynyrd skynyrd_the ballad of curtis loew": { + "artist": "Lynyrd Skynyrd", + "title": "The Ballad Of Curtis Loew", + "video_title": "Lynyrd Skynyrd - The Ballad Of Curtis Loew - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.632928", + "reason": "already_on_server" + }, + "postmodern jukebox_say something": { + "artist": "Postmodern Jukebox", + "title": "Say Something", + "video_title": "Postmodern Jukebox - Say Something - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.664143", + "reason": "already_on_server" + }, + "freddy fender_wasted days and wasted nights": { + "artist": "Freddy Fender", + "title": "Wasted Days And Wasted Nights", + "video_title": "Freddy Fender - Wasted Days And Wasted Nights - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.685536", + "reason": "already_on_server" + }, + "lou rawls_lady love": { + "artist": "Lou Rawls", + "title": "Lady Love", + "video_title": "Lou Rawls - Lady Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.723060", + "reason": "already_on_server" + }, + "elvis presley_white christmas": { + "artist": "Elvis Presley", + "title": "White Christmas", + "video_title": "Elvis Presley - White Christmas - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.750782", + "reason": "already_on_server" + }, + "lauren spencer-smith_narcissist": { + "artist": "Lauren Spencer-Smith", + "title": "Narcissist", + "video_title": "Lauren Spencer-Smith - Narcissist - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.772638", + "reason": "already_on_server" + }, + "todd rundgren_i saw the light": { + "artist": "Todd Rundgren", + "title": "I Saw The Light", + "video_title": "Todd Rundgren - I Saw The Light - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.800768", + "reason": "already_on_server" + }, + "madison beer_selfish": { + "artist": "Madison Beer", + "title": "Selfish", + "video_title": "Madison Beer - Selfish - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.901384", + "reason": "already_on_server" + }, + "lewis capaldi_forget me": { + "artist": "Lewis Capaldi", + "title": "Forget Me", + "video_title": "Lewis Capaldi - Forget Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.957984", + "reason": "already_on_server" + }, + "orleans_dance with me": { + "artist": "Orleans", + "title": "Dance With Me", + "video_title": "Orleans - Dance With Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:04.997164", + "reason": "already_on_server" + }, + "elvis presley_such a night": { + "artist": "Elvis Presley", + "title": "Such A Night", + "video_title": "Elvis Presley - Such A Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.018633", + "reason": "already_on_server" + }, + "three dog night_one": { + "artist": "Three Dog Night", + "title": "One", + "video_title": "Three Dog Night - One - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.057654", + "reason": "already_on_server" + }, + "lady gaga_hold my hand": { + "artist": "Lady Gaga", + "title": "Hold My Hand", + "video_title": "Lady Gaga - Hold My Hand - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.090198", + "reason": "already_on_server" + }, + "madonna_angel": { + "artist": "Madonna", + "title": "Angel", + "video_title": "Madonna - Angel - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.121249", + "reason": "already_on_server" + }, + "bad company_shooting star": { + "artist": "Bad Company", + "title": "Shooting Star", + "video_title": "Bad Company - Shooting Star - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.157788", + "reason": "already_on_server" + }, + "girl in red_i wanna be your girlfriend": { + "artist": "Girl In Red", + "title": "I Wanna Be Your Girlfriend", + "video_title": "Girl In Red - I Wanna Be Your Girlfriend - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.189943", + "reason": "already_on_server" + }, + "cash cash feat christina perri_hero": { + "artist": "Cash Cash feat Christina Perri", + "title": "Hero", + "video_title": "Cash Cash feat Christina Perri - Hero - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.214433", + "reason": "already_on_server" + }, + "meghan trainor_title": { + "artist": "Meghan Trainor", + "title": "Title", + "video_title": "Meghan Trainor - Title - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.248419", + "reason": "already_on_server" + }, + "dove cameron_boyfriend": { + "artist": "Dove Cameron", + "title": "Boyfriend", + "video_title": "Dove Cameron - Boyfriend - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.267723", + "reason": "already_on_server" + }, + "the weeknd_sacrifice": { + "artist": "The Weeknd", + "title": "Sacrifice", + "video_title": "The Weeknd - Sacrifice - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.300491", + "reason": "already_on_server" + }, + "modern english_i melt with you": { + "artist": "Modern English", + "title": "I Melt With You", + "video_title": "Modern English - I Melt With You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.327503", + "reason": "already_on_server" + }, + "adele_i can't make you love me": { + "artist": "Adele", + "title": "I Can't Make You Love Me", + "video_title": "Adele - I Can't Make You Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.350759", + "reason": "already_on_server" + }, + "adele_lovesong": { + "artist": "Adele", + "title": "Lovesong", + "video_title": "Adele - Lovesong - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.373380", + "reason": "already_on_server" + }, + "sam fender_seventeen going under": { + "artist": "Sam Fender", + "title": "Seventeen Going Under", + "video_title": "Sam Fender - Seventeen Going Under - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.394266", + "reason": "already_on_server" + }, + "benson boone_ghost town": { + "artist": "Benson Boone", + "title": "Ghost Town", + "video_title": "Benson Boone - Ghost Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.419616", + "reason": "already_on_server" + }, + "tenacious d_fuck her gently": { + "artist": "Tenacious D", + "title": "Fuck Her Gently", + "video_title": "Tenacious D - Fuck Her Gently - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.437375", + "reason": "already_on_server" + }, + "adele_i drink wine": { + "artist": "Adele", + "title": "I Drink Wine", + "video_title": "Adele - I Drink Wine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.457079", + "reason": "already_on_server" + }, + "elvin bishop_fooled around and fell in love": { + "artist": "Elvin Bishop", + "title": "Fooled Around And Fell In Love", + "video_title": "Elvin Bishop - Fooled Around And Fell In Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.480767", + "reason": "already_on_server" + }, + "patsy cline_you belong to me": { + "artist": "Patsy Cline", + "title": "You Belong To Me", + "video_title": "Patsy Cline - You Belong To Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.515136", + "reason": "already_on_server" + }, + "patsy cline_leavin' on your mind": { + "artist": "Patsy Cline", + "title": "Leavin' On Your Mind", + "video_title": "Patsy Cline - Leavin' On Your Mind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.531242", + "reason": "already_on_server" + }, + "ksi_holiday": { + "artist": "KSI", + "title": "Holiday", + "video_title": "KSI - Holiday - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.554755", + "reason": "already_on_server" + }, + "mimi webb_dumb love": { + "artist": "Mimi Webb", + "title": "Dumb Love", + "video_title": "Mimi Webb - Dumb Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.591502", + "reason": "already_on_server" + }, + "shawn mendes_in my blood": { + "artist": "Shawn Mendes", + "title": "In My Blood", + "video_title": "Shawn Mendes - In My Blood - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.608643", + "reason": "already_on_server" + }, + "galantis, david guetta & little mix_heartbreak anthem": { + "artist": "Galantis, David Guetta & Little Mix", + "title": "Heartbreak Anthem", + "video_title": "Galantis, David Guetta & Little Mix - Heartbreak Anthem - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.630170", + "reason": "already_on_server" + }, + "ed sheeran_visiting hours": { + "artist": "Ed Sheeran", + "title": "Visiting Hours", + "video_title": "Ed Sheeran - Visiting Hours - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.651246", + "reason": "already_on_server" + }, + "the chi-lites_oh girl": { + "artist": "The Chi-Lites", + "title": "Oh Girl", + "video_title": "The Chi-Lites - Oh Girl - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.684401", + "reason": "already_on_server" + }, + "linda ronstadt_long long time": { + "artist": "Linda Ronstadt", + "title": "Long Long Time", + "video_title": "Linda Ronstadt - Long Long Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.712597", + "reason": "already_on_server" + }, + "judas priest_diamonds and rust": { + "artist": "Judas Priest", + "title": "Diamonds And Rust", + "video_title": "Judas Priest - Diamonds And Rust - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.736287", + "reason": "already_on_server" + }, + "the beatles_a hard day's night": { + "artist": "The Beatles", + "title": "A Hard Day's Night", + "video_title": "The Beatles - A Hard Day's Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.764664", + "reason": "already_on_server" + }, + "the beatles_a day in the life": { + "artist": "The Beatles", + "title": "A Day In The Life", + "video_title": "The Beatles - A Day In The Life - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.784426", + "reason": "already_on_server" + }, + "the beatles_and i love her": { + "artist": "The Beatles", + "title": "And I Love Her", + "video_title": "The Beatles - And I Love Her - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.810512", + "reason": "already_on_server" + }, + "the beatles_come together": { + "artist": "The Beatles", + "title": "Come Together", + "video_title": "The Beatles - Come Together - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.836780", + "reason": "already_on_server" + }, + "the beatles_act naturally": { + "artist": "The Beatles", + "title": "Act Naturally", + "video_title": "The Beatles - Act Naturally - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.855936", + "reason": "already_on_server" + }, + "the beatles_can't buy me love": { + "artist": "The Beatles", + "title": "Can't Buy Me Love", + "video_title": "The Beatles - Can't Buy Me Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.874236", + "reason": "already_on_server" + }, + "the beatles_back in the u.s.s.r.": { + "artist": "The Beatles", + "title": "Back In The U.S.S.R.", + "video_title": "The Beatles - Back In The U.S.S.R. - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.892952", + "reason": "already_on_server" + }, + "the beatles_blackbird": { + "artist": "The Beatles", + "title": "Blackbird", + "video_title": "The Beatles - Blackbird - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.916871", + "reason": "already_on_server" + }, + "the beatles_from me to you": { + "artist": "The Beatles", + "title": "From Me To You", + "video_title": "The Beatles - From Me To You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.934146", + "reason": "already_on_server" + }, + "the beatles_i should have known better": { + "artist": "The Beatles", + "title": "I Should Have Known Better", + "video_title": "The Beatles - I Should Have Known Better - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.951963", + "reason": "already_on_server" + }, + "the beatles_i'm happy just to dance with you": { + "artist": "The Beatles", + "title": "I'm Happy Just To Dance With You", + "video_title": "The Beatles - I'm Happy Just To Dance With You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.974893", + "reason": "already_on_server" + }, + "the beatles_here comes the sun": { + "artist": "The Beatles", + "title": "Here Comes The Sun", + "video_title": "The Beatles - Here Comes The Sun - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:05.993671", + "reason": "already_on_server" + }, + "the beatles_in my life": { + "artist": "The Beatles", + "title": "In My Life", + "video_title": "The Beatles - In My Life - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.017419", + "reason": "already_on_server" + }, + "the beatles_help!": { + "artist": "The Beatles", + "title": "Help!", + "video_title": "The Beatles - Help! - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.042161", + "reason": "already_on_server" + }, + "the beatles_eleanor rigby": { + "artist": "The Beatles", + "title": "Eleanor Rigby", + "video_title": "The Beatles - Eleanor Rigby - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.073825", + "reason": "already_on_server" + }, + "the beatles_i saw her standing there": { + "artist": "The Beatles", + "title": "I Saw Her Standing There", + "video_title": "The Beatles - I Saw Her Standing There - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.108404", + "reason": "already_on_server" + }, + "the beatles_nowhere man": { + "artist": "The Beatles", + "title": "Nowhere Man", + "video_title": "The Beatles - Nowhere Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.149292", + "reason": "already_on_server" + }, + "the beatles_drive my car": { + "artist": "The Beatles", + "title": "Drive My Car", + "video_title": "The Beatles - Drive My Car - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.195860", + "reason": "already_on_server" + }, + "the beatles_girl": { + "artist": "The Beatles", + "title": "Girl", + "video_title": "The Beatles - Girl - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.226138", + "reason": "already_on_server" + }, + "the beatles_do you want to know a secret": { + "artist": "The Beatles", + "title": "Do You Want To Know A Secret", + "video_title": "The Beatles - Do You Want To Know A Secret - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.260533", + "reason": "already_on_server" + }, + "the beatles_eight days a week": { + "artist": "The Beatles", + "title": "Eight Days A Week", + "video_title": "The Beatles - Eight Days A Week - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.316898", + "reason": "already_on_server" + }, + "the beatles_lucy in the sky with diamonds": { + "artist": "The Beatles", + "title": "Lucy In The Sky With Diamonds", + "video_title": "The Beatles - Lucy In The Sky With Diamonds - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.376205", + "reason": "already_on_server" + }, + "the beatles_she loves you": { + "artist": "The Beatles", + "title": "She Loves You", + "video_title": "The Beatles - She Loves You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.387281", + "reason": "already_on_server" + }, + "the beatles_i will": { + "artist": "The Beatles", + "title": "I Will", + "video_title": "The Beatles - I Will - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.433595", + "reason": "already_on_server" + }, + "the beatles_taxman": { + "artist": "The Beatles", + "title": "Taxman", + "video_title": "The Beatles - Taxman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.463565", + "reason": "already_on_server" + }, + "the beatles_love me do": { + "artist": "The Beatles", + "title": "Love Me Do", + "video_title": "The Beatles - Love Me Do - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.490116", + "reason": "already_on_server" + }, + "the beatles_strawberry fields forever": { + "artist": "The Beatles", + "title": "Strawberry Fields Forever", + "video_title": "The Beatles - Strawberry Fields Forever - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.515291", + "reason": "already_on_server" + }, + "the beatles_lady madonna": { + "artist": "The Beatles", + "title": "Lady Madonna", + "video_title": "The Beatles - Lady Madonna - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.535530", + "reason": "already_on_server" + }, + "the beatles_i want to hold your hand": { + "artist": "The Beatles", + "title": "I Want To Hold Your Hand", + "video_title": "The Beatles - I Want To Hold Your Hand - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.558696", + "reason": "already_on_server" + }, + "the beatles_michelle": { + "artist": "The Beatles", + "title": "Michelle", + "video_title": "The Beatles - Michelle - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.583667", + "reason": "already_on_server" + }, + "the beatles_let it be": { + "artist": "The Beatles", + "title": "Let It Be", + "video_title": "The Beatles - Let It Be - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.606649", + "reason": "already_on_server" + }, + "the beatles_it won't be long": { + "artist": "The Beatles", + "title": "It Won't Be Long", + "video_title": "The Beatles - It Won't Be Long - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.625568", + "reason": "already_on_server" + }, + "the beatles_please please me": { + "artist": "The Beatles", + "title": "Please Please Me", + "video_title": "The Beatles - Please Please Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.647572", + "reason": "already_on_server" + }, + "the beatles_paperback writer": { + "artist": "The Beatles", + "title": "Paperback Writer", + "video_title": "The Beatles - Paperback Writer - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.667146", + "reason": "already_on_server" + }, + "the beatles_the ballad of john and yoko": { + "artist": "The Beatles", + "title": "The Ballad Of John And Yoko", + "video_title": "The Beatles - The Ballad Of John And Yoko - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.693722", + "reason": "already_on_server" + }, + "the beatles_this boy": { + "artist": "The Beatles", + "title": "This Boy", + "video_title": "The Beatles - This Boy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.713933", + "reason": "already_on_server" + }, + "the beatles_things we said today": { + "artist": "The Beatles", + "title": "Things We Said Today", + "video_title": "The Beatles - Things We Said Today - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.734234", + "reason": "already_on_server" + }, + "the beatles_octopus's garden": { + "artist": "The Beatles", + "title": "Octopus's Garden", + "video_title": "The Beatles - Octopus's Garden - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.758719", + "reason": "already_on_server" + }, + "the beatles_the night before": { + "artist": "The Beatles", + "title": "The Night Before", + "video_title": "The Beatles - The Night Before - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.784013", + "reason": "already_on_server" + }, + "the beatles_ticket to ride": { + "artist": "The Beatles", + "title": "Ticket To Ride", + "video_title": "The Beatles - Ticket To Ride - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.816441", + "reason": "already_on_server" + }, + "the beatles_the long and winding road": { + "artist": "The Beatles", + "title": "The Long And Winding Road", + "video_title": "The Beatles - The Long And Winding Road - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.855786", + "reason": "already_on_server" + }, + "the beatles_tell me what you see": { + "artist": "The Beatles", + "title": "Tell Me What You See", + "video_title": "The Beatles - Tell Me What You See - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.876383", + "reason": "already_on_server" + }, + "the beatles_with a little help from my friends": { + "artist": "The Beatles", + "title": "With A Little Help From My Friends", + "video_title": "The Beatles - With A Little Help From My Friends - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.898253", + "reason": "already_on_server" + }, + "the beatles_yesterday": { + "artist": "The Beatles", + "title": "Yesterday", + "video_title": "The Beatles - Yesterday - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.918426", + "reason": "already_on_server" + }, + "the beatles_yellow submarine": { + "artist": "The Beatles", + "title": "Yellow Submarine", + "video_title": "The Beatles - Yellow Submarine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.942531", + "reason": "already_on_server" + }, + "the beatles_the fool on the hill": { + "artist": "The Beatles", + "title": "The Fool On The Hill", + "video_title": "The Beatles - The Fool On The Hill - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.968354", + "reason": "already_on_server" + }, + "rag'n'bone man & pink_anywhere away from here": { + "artist": "Rag'n'Bone Man & Pink", + "title": "Anywhere Away From Here", + "video_title": "Rag'n'Bone Man & Pink - Anywhere Away From Here - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:06.992337", + "reason": "already_on_server" + }, + "steve earle_copperhead road": { + "artist": "Steve Earle", + "title": "Copperhead Road", + "video_title": "Steve Earle - Copperhead Road - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.021030", + "reason": "already_on_server" + }, + "miley cyrus_angels like you": { + "artist": "Miley Cyrus", + "title": "Angels Like You", + "video_title": "Miley Cyrus - Angels Like You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.040795", + "reason": "already_on_server" + }, + "james arthur_medicine": { + "artist": "James Arthur", + "title": "Medicine", + "video_title": "James Arthur - Medicine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.065170", + "reason": "already_on_server" + }, + "jojo_leave (get out)": { + "artist": "JoJo", + "title": "Leave (Get Out)", + "video_title": "JoJo - Leave (Get Out) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.085667", + "reason": "already_on_server" + }, + "justin bieber_hold on": { + "artist": "Justin Bieber", + "title": "Hold On", + "video_title": "Justin Bieber - Hold On - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.113599", + "reason": "already_on_server" + }, + "dua lipa_we're good": { + "artist": "Dua Lipa", + "title": "We're Good", + "video_title": "Dua Lipa - We're Good - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.140329", + "reason": "already_on_server" + }, + "tom grennan_little bit of love": { + "artist": "Tom Grennan", + "title": "Little Bit Of Love", + "video_title": "Tom Grennan - Little Bit Of Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.162380", + "reason": "already_on_server" + }, + "gary moore_still got the blues": { + "artist": "Gary Moore", + "title": "Still Got The Blues", + "video_title": "Gary Moore - Still Got The Blues - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.185340", + "reason": "already_on_server" + }, + "redbone_come and get your love": { + "artist": "Redbone", + "title": "Come And Get Your Love", + "video_title": "Redbone - Come And Get Your Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.207835", + "reason": "already_on_server" + }, + "gregory porter_hey laura": { + "artist": "Gregory Porter", + "title": "Hey Laura", + "video_title": "Gregory Porter - Hey Laura - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.230531", + "reason": "already_on_server" + }, + "christopher cross_sailing": { + "artist": "Christopher Cross", + "title": "Sailing", + "video_title": "Christopher Cross - Sailing - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.269961", + "reason": "already_on_server" + }, + "billy joel_vienna": { + "artist": "Billy Joel", + "title": "Vienna", + "video_title": "Billy Joel - Vienna - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.299152", + "reason": "already_on_server" + }, + "lady gaga_911": { + "artist": "Lady Gaga", + "title": "911", + "video_title": "Lady Gaga - 911 - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.323382", + "reason": "already_on_server" + }, + "jamiroquai_canned heat": { + "artist": "Jamiroquai", + "title": "Canned Heat", + "video_title": "Jamiroquai - Canned Heat - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.346144", + "reason": "already_on_server" + }, + "mama cass_make your own kind of music": { + "artist": "Mama Cass", + "title": "Make Your Own Kind Of Music", + "video_title": "Mama Cass - Make Your Own Kind Of Music - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.366572", + "reason": "already_on_server" + }, + "the outfield_your love": { + "artist": "The Outfield", + "title": "Your Love", + "video_title": "The Outfield - Your Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.394433", + "reason": "already_on_server" + }, + "the allman brothers band_midnight rider": { + "artist": "The Allman Brothers Band", + "title": "Midnight Rider", + "video_title": "The Allman Brothers Band - Midnight Rider - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.413683", + "reason": "already_on_server" + }, + "the four tops_when she was my girl": { + "artist": "The Four Tops", + "title": "When She Was My Girl", + "video_title": "The Four Tops - When She Was My Girl - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.452706", + "reason": "already_on_server" + }, + "america_sister golden hair": { + "artist": "America", + "title": "Sister Golden Hair", + "video_title": "America - Sister Golden Hair - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.478476", + "reason": "already_on_server" + }, + "rob thomas_little wonders": { + "artist": "Rob Thomas", + "title": "Little Wonders", + "video_title": "Rob Thomas - Little Wonders - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.502066", + "reason": "already_on_server" + }, + "shania twain_any man of mine": { + "artist": "Shania Twain", + "title": "Any Man Of Mine", + "video_title": "Shania Twain - Any Man Of Mine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.525097", + "reason": "already_on_server" + }, + "queen_seven seas of rhye": { + "artist": "Queen", + "title": "Seven Seas Of Rhye", + "video_title": "Queen - Seven Seas Of Rhye - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.550852", + "reason": "already_on_server" + }, + "howard jones_things can only get better": { + "artist": "Howard Jones", + "title": "Things Can Only Get Better", + "video_title": "Howard Jones - Things Can Only Get Better - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.574308", + "reason": "already_on_server" + }, + "shania twain_whose bed have your boots been under": { + "artist": "Shania Twain", + "title": "Whose Bed Have Your Boots Been Under", + "video_title": "Shania Twain - Whose Bed Have Your Boots Been Under - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.601469", + "reason": "already_on_server" + }, + "kesha_cannibal": { + "artist": "Kesha", + "title": "Cannibal", + "video_title": "Kesha - Cannibal - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.624642", + "reason": "already_on_server" + }, + "demi lovato_i love me": { + "artist": "Demi Lovato", + "title": "I Love Me", + "video_title": "Demi Lovato - I Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.651587", + "reason": "already_on_server" + }, + "michael buble_you'll never find another love like mine": { + "artist": "Michael Buble", + "title": "You'll Never Find Another Love Like Mine", + "video_title": "Michael Buble - You'll Never Find Another Love Like Mine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.693382", + "reason": "already_on_server" + }, + "michael buble_how can you mend a broken heart": { + "artist": "Michael Buble", + "title": "How Can You Mend A Broken Heart", + "video_title": "Michael Buble - How Can You Mend A Broken Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.721609", + "reason": "already_on_server" + }, + "sarah mclachlan_i will remember you": { + "artist": "Sarah McLachlan", + "title": "I Will Remember You", + "video_title": "Sarah McLachlan - I Will Remember You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.743103", + "reason": "already_on_server" + }, + "michael buble_kissing a fool": { + "artist": "Michael Buble", + "title": "Kissing A Fool", + "video_title": "Michael Buble - Kissing A Fool - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.792548", + "reason": "already_on_server" + }, + "jamie cullum_high and dry": { + "artist": "Jamie Cullum", + "title": "High And Dry", + "video_title": "Jamie Cullum - High And Dry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.817937", + "reason": "already_on_server" + }, + "katie melua_the closest thing to crazy": { + "artist": "Katie Melua", + "title": "The Closest Thing To Crazy", + "video_title": "Katie Melua - The Closest Thing To Crazy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.842965", + "reason": "already_on_server" + }, + "jamie cullum_all at sea": { + "artist": "Jamie Cullum", + "title": "All At Sea", + "video_title": "Jamie Cullum - All At Sea - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.868126", + "reason": "already_on_server" + }, + "sonny and cher_i got you babe": { + "artist": "Sonny And Cher", + "title": "I Got You Babe", + "video_title": "Sonny And Cher - I Got You Babe - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.901510", + "reason": "already_on_server" + }, + "dean martin_let it snow! let it snow! let it snow!": { + "artist": "Dean Martin", + "title": "Let It Snow! Let It Snow! Let It Snow!", + "video_title": "Dean Martin - Let It Snow! Let It Snow! Let It Snow! - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.931726", + "reason": "already_on_server" + }, + "cliff richard_mistletoe and wine": { + "artist": "Cliff Richard", + "title": "Mistletoe And Wine", + "video_title": "Cliff Richard - Mistletoe And Wine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.958066", + "reason": "already_on_server" + }, + "band aid_do they know it's christmas": { + "artist": "Band Aid", + "title": "Do They Know It's Christmas", + "video_title": "Band Aid - Do They Know It's Christmas - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:07.984224", + "reason": "already_on_server" + }, + "the beatles_twist and shout": { + "artist": "The Beatles", + "title": "Twist And Shout", + "video_title": "The Beatles - Twist And Shout - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.013181", + "reason": "already_on_server" + }, + "meat loaf_two out of three ain't bad": { + "artist": "Meat Loaf", + "title": "Two Out Of Three Ain't Bad", + "video_title": "Meat Loaf - Two Out Of Three Ain't Bad - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.037398", + "reason": "already_on_server" + }, + "aerosmith_angel": { + "artist": "Aerosmith", + "title": "Angel", + "video_title": "Aerosmith - Angel - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.072090", + "reason": "already_on_server" + }, + "maroon 5_tangled": { + "artist": "Maroon 5", + "title": "Tangled", + "video_title": "Maroon 5 - Tangled - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.143495", + "reason": "already_on_server" + }, + "maroon 5_shiver": { + "artist": "Maroon 5", + "title": "Shiver", + "video_title": "Maroon 5 - Shiver - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.182130", + "reason": "already_on_server" + }, + "the drifters_come on over to my place": { + "artist": "The Drifters", + "title": "Come On Over To My Place", + "video_title": "The Drifters - Come On Over To My Place - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.210101", + "reason": "already_on_server" + }, + "the kinks_sunny afternoon": { + "artist": "The Kinks", + "title": "Sunny Afternoon", + "video_title": "The Kinks - Sunny Afternoon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.241091", + "reason": "already_on_server" + }, + "maroon 5_not coming home": { + "artist": "Maroon 5", + "title": "Not Coming Home", + "video_title": "Maroon 5 - Not Coming Home - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.274615", + "reason": "already_on_server" + }, + "the kinks_waterloo sunset": { + "artist": "The Kinks", + "title": "Waterloo Sunset", + "video_title": "The Kinks - Waterloo Sunset - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.442342", + "reason": "already_on_server" + }, + "meat loaf_not a dry eye in the house": { + "artist": "Meat Loaf", + "title": "Not A Dry Eye In The House", + "video_title": "Meat Loaf - Not A Dry Eye In The House - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.491727", + "reason": "already_on_server" + }, + "meat loaf_bat out of hell": { + "artist": "Meat Loaf", + "title": "Bat Out Of Hell", + "video_title": "Meat Loaf - Bat Out Of Hell - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.542596", + "reason": "already_on_server" + }, + "meat loaf_dead ringer for love": { + "artist": "Meat Loaf", + "title": "Dead Ringer For Love", + "video_title": "Meat Loaf - Dead Ringer For Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.571550", + "reason": "already_on_server" + }, + "the drifters_down on the beach tonight": { + "artist": "The Drifters", + "title": "Down On The Beach Tonight", + "video_title": "The Drifters - Down On The Beach Tonight - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.599685", + "reason": "already_on_server" + }, + "billy ocean_loverboy": { + "artist": "Billy Ocean", + "title": "Loverboy", + "video_title": "Billy Ocean - Loverboy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.625304", + "reason": "already_on_server" + }, + "the drifters_there goes my first love": { + "artist": "The Drifters", + "title": "There Goes My First Love", + "video_title": "The Drifters - There Goes My First Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.650445", + "reason": "already_on_server" + }, + "darlene love_winter wonderland": { + "artist": "Darlene Love", + "title": "Winter Wonderland", + "video_title": "Darlene Love - Winter Wonderland - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.680126", + "reason": "already_on_server" + }, + "the ronettes_frosty the snowman": { + "artist": "The Ronettes", + "title": "Frosty The Snowman", + "video_title": "The Ronettes - Frosty The Snowman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.706295", + "reason": "already_on_server" + }, + "ricky nelson_poor little fool": { + "artist": "Ricky Nelson", + "title": "Poor Little Fool", + "video_title": "Ricky Nelson - Poor Little Fool - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.732364", + "reason": "already_on_server" + }, + "ricky nelson_garden party": { + "artist": "Ricky Nelson", + "title": "Garden Party", + "video_title": "Ricky Nelson - Garden Party - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.765563", + "reason": "already_on_server" + }, + "ricky nelson_never be anyone else but you": { + "artist": "Ricky Nelson", + "title": "Never Be Anyone Else But You", + "video_title": "Ricky Nelson - Never Be Anyone Else But You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.793510", + "reason": "already_on_server" + }, + "aerosmith_love in an elevator": { + "artist": "Aerosmith", + "title": "Love In An Elevator", + "video_title": "Aerosmith - Love In An Elevator - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.832844", + "reason": "already_on_server" + }, + "ricky nelson_fools rush in": { + "artist": "Ricky Nelson", + "title": "Fools Rush In", + "video_title": "Ricky Nelson - Fools Rush In - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.867469", + "reason": "already_on_server" + }, + "ed sheeran_afterglow": { + "artist": "Ed Sheeran", + "title": "Afterglow", + "video_title": "Ed Sheeran - Afterglow - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.916769", + "reason": "already_on_server" + }, + "the smiths_this charming man": { + "artist": "The Smiths", + "title": "This Charming Man", + "video_title": "The Smiths - This Charming Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.942810", + "reason": "already_on_server" + }, + "nik kershaw_the riddle": { + "artist": "Nik Kershaw", + "title": "The Riddle", + "video_title": "Nik Kershaw - The Riddle - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:08.980785", + "reason": "already_on_server" + }, + "tom jones_help yourself": { + "artist": "Tom Jones", + "title": "Help Yourself", + "video_title": "Tom Jones - Help Yourself - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.017380", + "reason": "already_on_server" + }, + "rick astley_together forever": { + "artist": "Rick Astley", + "title": "Together Forever", + "video_title": "Rick Astley - Together Forever - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.042861", + "reason": "already_on_server" + }, + "the blues brothers_she caught the katy": { + "artist": "The Blues Brothers", + "title": "She Caught The Katy", + "video_title": "The Blues Brothers - She Caught The Katy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.070571", + "reason": "already_on_server" + }, + "the blues brothers_sweet home chicago": { + "artist": "The Blues Brothers", + "title": "Sweet Home Chicago", + "video_title": "The Blues Brothers - Sweet Home Chicago - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.100978", + "reason": "already_on_server" + }, + "eva cassidy_cheek to cheek": { + "artist": "Eva Cassidy", + "title": "Cheek To Cheek", + "video_title": "Eva Cassidy - Cheek To Cheek - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.123799", + "reason": "already_on_server" + }, + "the blues brothers_soul man": { + "artist": "The Blues Brothers", + "title": "Soul Man", + "video_title": "The Blues Brothers - Soul Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.151569", + "reason": "already_on_server" + }, + "the jackson 5_i want you back": { + "artist": "The Jackson 5", + "title": "I Want You Back", + "video_title": "The Jackson 5 - I Want You Back - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.191055", + "reason": "already_on_server" + }, + "neil diamond_september morn": { + "artist": "Neil Diamond", + "title": "September Morn", + "video_title": "Neil Diamond - September Morn - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.233940", + "reason": "already_on_server" + }, + "the rolling stones_brown sugar": { + "artist": "The Rolling Stones", + "title": "Brown Sugar", + "video_title": "The Rolling Stones - Brown Sugar - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.262574", + "reason": "already_on_server" + }, + "wings_mull of kintyre": { + "artist": "Wings", + "title": "Mull Of Kintyre", + "video_title": "Wings - Mull Of Kintyre - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.292036", + "reason": "already_on_server" + }, + "queen_save me": { + "artist": "Queen", + "title": "Save Me", + "video_title": "Queen - Save Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.327409", + "reason": "already_on_server" + }, + "queen_play the game": { + "artist": "Queen", + "title": "Play The Game", + "video_title": "Queen - Play The Game - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.361303", + "reason": "already_on_server" + }, + "the carpenters_all you get from love is a love song": { + "artist": "The Carpenters", + "title": "All You Get From Love Is A Love Song", + "video_title": "The Carpenters - All You Get From Love Is A Love Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.389863", + "reason": "already_on_server" + }, + "dusty springfield_the look of love": { + "artist": "Dusty Springfield", + "title": "The Look Of Love", + "video_title": "Dusty Springfield - The Look Of Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.415809", + "reason": "already_on_server" + }, + "the supremes_the happening": { + "artist": "The Supremes", + "title": "The Happening", + "video_title": "The Supremes - The Happening - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.439832", + "reason": "already_on_server" + }, + "bruce channel_hey! baby": { + "artist": "Bruce Channel", + "title": "Hey! Baby", + "video_title": "Bruce Channel - Hey! Baby - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.472656", + "reason": "already_on_server" + }, + "daniel o'donnell_danny boy": { + "artist": "Daniel O'Donnell", + "title": "Danny Boy", + "video_title": "Daniel O'Donnell - Danny Boy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.501883", + "reason": "already_on_server" + }, + "keith whitley_don't close your eyes": { + "artist": "Keith Whitley", + "title": "Don't Close Your Eyes", + "video_title": "Keith Whitley - Don't Close Your Eyes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.541771", + "reason": "already_on_server" + }, + "tammy wynette_d-i-v-o-r-c-e": { + "artist": "Tammy Wynette", + "title": "D-I-V-O-R-C-E", + "video_title": "Tammy Wynette - D-I-V-O-R-C-E - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.585368", + "reason": "already_on_server" + }, + "patsy cline_walkin' after midnight": { + "artist": "Patsy Cline", + "title": "Walkin' After Midnight", + "video_title": "Patsy Cline - Walkin' After Midnight - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.609803", + "reason": "already_on_server" + }, + "jamie cullum_what a difference a day made": { + "artist": "Jamie Cullum", + "title": "What A Difference A Day Made", + "video_title": "Jamie Cullum - What A Difference A Day Made - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.640770", + "reason": "already_on_server" + }, + "michael buble_come fly with me": { + "artist": "Michael Buble", + "title": "Come Fly With Me", + "video_title": "Michael Buble - Come Fly With Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.665802", + "reason": "already_on_server" + }, + "michael buble_crazy little thing called love": { + "artist": "Michael Buble", + "title": "Crazy Little Thing Called Love", + "video_title": "Michael Buble - Crazy Little Thing Called Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.692809", + "reason": "already_on_server" + }, + "michael buble_fever": { + "artist": "Michael Buble", + "title": "Fever", + "video_title": "Michael Buble - Fever - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.715667", + "reason": "already_on_server" + }, + "michael buble_sway": { + "artist": "Michael Buble", + "title": "Sway", + "video_title": "Michael Buble - Sway - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.741250", + "reason": "already_on_server" + }, + "wham!_i'm your man": { + "artist": "Wham!", + "title": "I'm Your Man", + "video_title": "Wham! - I'm Your Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.768681", + "reason": "already_on_server" + }, + "the commodores_three times a lady": { + "artist": "The Commodores", + "title": "Three Times A Lady", + "video_title": "The Commodores - Three Times A Lady - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.792942", + "reason": "already_on_server" + }, + "cliff richard_the day i met marie": { + "artist": "Cliff Richard", + "title": "The Day I Met Marie", + "video_title": "Cliff Richard - The Day I Met Marie - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.826055", + "reason": "already_on_server" + }, + "the partridge family_i woke up in love this morning": { + "artist": "The Partridge Family", + "title": "I Woke Up In Love This Morning", + "video_title": "The Partridge Family - I Woke Up In Love This Morning - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.853125", + "reason": "already_on_server" + }, + "the turtles_elenore": { + "artist": "The Turtles", + "title": "Elenore", + "video_title": "The Turtles - Elenore - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.885338", + "reason": "already_on_server" + }, + "john denver_take me home, country roads": { + "artist": "John Denver", + "title": "Take Me Home, Country Roads", + "video_title": "John Denver - Take Me Home, Country Roads - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.924216", + "reason": "already_on_server" + }, + "the hollies_sorry suzanne": { + "artist": "The Hollies", + "title": "Sorry Suzanne", + "video_title": "The Hollies - Sorry Suzanne - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.968169", + "reason": "already_on_server" + }, + "joss stone_some kind of wonderful": { + "artist": "Joss Stone", + "title": "Some Kind Of Wonderful", + "video_title": "Joss Stone - Some Kind Of Wonderful - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:09.993483", + "reason": "already_on_server" + }, + "tim mcgraw_all we ever find": { + "artist": "Tim McGraw", + "title": "All We Ever Find", + "video_title": "Tim McGraw - All We Ever Find - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.034259", + "reason": "already_on_server" + }, + "eva cassidy_wade in the water": { + "artist": "Eva Cassidy", + "title": "Wade In The Water", + "video_title": "Eva Cassidy - Wade In The Water - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.080537", + "reason": "already_on_server" + }, + "eva cassidy_people get ready": { + "artist": "Eva Cassidy", + "title": "People Get Ready", + "video_title": "Eva Cassidy - People Get Ready - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.113167", + "reason": "already_on_server" + }, + "eva cassidy_songbird": { + "artist": "Eva Cassidy", + "title": "Songbird", + "video_title": "Eva Cassidy - Songbird - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.154387", + "reason": "already_on_server" + }, + "eva cassidy_wayfaring stranger": { + "artist": "Eva Cassidy", + "title": "Wayfaring Stranger", + "video_title": "Eva Cassidy - Wayfaring Stranger - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.184795", + "reason": "already_on_server" + }, + "eva cassidy_imagine": { + "artist": "Eva Cassidy", + "title": "Imagine", + "video_title": "Eva Cassidy - Imagine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.209944", + "reason": "already_on_server" + }, + "queen_tie your mother down": { + "artist": "Queen", + "title": "Tie Your Mother Down", + "video_title": "Queen - Tie Your Mother Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.250533", + "reason": "already_on_server" + }, + "queen_good old fashioned lover boy": { + "artist": "Queen", + "title": "Good Old Fashioned Lover Boy", + "video_title": "Queen - Good Old Fashioned Lover Boy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.275528", + "reason": "already_on_server" + }, + "queen_bicycle race": { + "artist": "Queen", + "title": "Bicycle Race", + "video_title": "Queen - Bicycle Race - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.303954", + "reason": "already_on_server" + }, + "queen_i want it all": { + "artist": "Queen", + "title": "I Want It All", + "video_title": "Queen - I Want It All - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.329754", + "reason": "already_on_server" + }, + "the seekers_island of dreams": { + "artist": "The Seekers", + "title": "Island Of Dreams", + "video_title": "The Seekers - Island Of Dreams - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.365114", + "reason": "already_on_server" + }, + "the seekers_a world of our own": { + "artist": "The Seekers", + "title": "A World Of Our Own", + "video_title": "The Seekers - A World Of Our Own - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.398441", + "reason": "already_on_server" + }, + "the four seasons_walk like a man": { + "artist": "The Four Seasons", + "title": "Walk Like A Man", + "video_title": "The Four Seasons - Walk Like A Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.426457", + "reason": "already_on_server" + }, + "squeeze_cool for cats": { + "artist": "Squeeze", + "title": "Cool For Cats", + "video_title": "Squeeze - Cool For Cats - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.453494", + "reason": "already_on_server" + }, + "cilla black_you're my world": { + "artist": "Cilla Black", + "title": "You're My World", + "video_title": "Cilla Black - You're My World - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.485217", + "reason": "already_on_server" + }, + "shayne ward_that's my goal": { + "artist": "Shayne Ward", + "title": "That's My Goal", + "video_title": "Shayne Ward - That's My Goal - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.517436", + "reason": "already_on_server" + }, + "lulu_boom bang-a-bang": { + "artist": "Lulu", + "title": "Boom Bang-A-Bang", + "video_title": "Lulu - Boom Bang-A-Bang - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.540819", + "reason": "already_on_server" + }, + "status quo_burning bridges": { + "artist": "Status Quo", + "title": "Burning Bridges", + "video_title": "Status Quo - Burning Bridges - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.570493", + "reason": "already_on_server" + }, + "the pretenders_2000 miles": { + "artist": "The Pretenders", + "title": "2000 Miles", + "video_title": "The Pretenders - 2000 Miles - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.598721", + "reason": "already_on_server" + }, + "wizzard_i wish it could be christmas everyday": { + "artist": "Wizzard", + "title": "I Wish It Could Be Christmas Everyday", + "video_title": "Wizzard - I Wish It Could Be Christmas Everyday - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.625085", + "reason": "already_on_server" + }, + "jack johnson_better together": { + "artist": "Jack Johnson", + "title": "Better Together", + "video_title": "Jack Johnson - Better Together - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.652714", + "reason": "already_on_server" + }, + "wham!_freedom": { + "artist": "Wham!", + "title": "Freedom", + "video_title": "Wham! - Freedom - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.685141", + "reason": "already_on_server" + }, + "jona lewie_stop the cavalry": { + "artist": "Jona Lewie", + "title": "Stop The Cavalry", + "video_title": "Jona Lewie - Stop The Cavalry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.709866", + "reason": "already_on_server" + }, + "slade_merry xmas everybody": { + "artist": "Slade", + "title": "Merry Xmas Everybody", + "video_title": "Slade - Merry Xmas Everybody - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.745078", + "reason": "already_on_server" + }, + "electric light orchestra_all over the world": { + "artist": "Electric Light Orchestra", + "title": "All Over The World", + "video_title": "Electric Light Orchestra - All Over The World - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.770453", + "reason": "already_on_server" + }, + "wham!_club tropicana": { + "artist": "Wham!", + "title": "Club Tropicana", + "video_title": "Wham! - Club Tropicana - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.794230", + "reason": "already_on_server" + }, + "chris rea_driving home for christmas": { + "artist": "Chris Rea", + "title": "Driving Home For Christmas", + "video_title": "Chris Rea - Driving Home For Christmas - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.829501", + "reason": "already_on_server" + }, + "meat loaf_heaven can wait": { + "artist": "Meat Loaf", + "title": "Heaven Can Wait", + "video_title": "Meat Loaf - Heaven Can Wait - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.859165", + "reason": "already_on_server" + }, + "avril lavigne_anything but ordinary": { + "artist": "Avril Lavigne", + "title": "Anything But Ordinary", + "video_title": "Avril Lavigne - Anything But Ordinary - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.884502", + "reason": "already_on_server" + }, + "avril lavigne_mobile": { + "artist": "Avril Lavigne", + "title": "Mobile", + "video_title": "Avril Lavigne - Mobile - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.910787", + "reason": "already_on_server" + }, + "avril lavigne_my world": { + "artist": "Avril Lavigne", + "title": "My World", + "video_title": "Avril Lavigne - My World - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.941664", + "reason": "already_on_server" + }, + "the beach boys_sloop john b": { + "artist": "The Beach Boys", + "title": "Sloop John B", + "video_title": "The Beach Boys - Sloop John B - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:10.978730", + "reason": "already_on_server" + }, + "the animals_we gotta get out of this place": { + "artist": "The Animals", + "title": "We Gotta Get Out Of This Place", + "video_title": "The Animals - We Gotta Get Out Of This Place - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.023037", + "reason": "already_on_server" + }, + "take that_a million love songs": { + "artist": "Take That", + "title": "A Million Love Songs", + "video_title": "Take That - A Million Love Songs - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.053513", + "reason": "already_on_server" + }, + "cliff richard_the young ones": { + "artist": "Cliff Richard", + "title": "The Young Ones", + "video_title": "Cliff Richard - The Young Ones - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.080061", + "reason": "already_on_server" + }, + "cliff richard_dancing shoes": { + "artist": "Cliff Richard", + "title": "Dancing Shoes", + "video_title": "Cliff Richard - Dancing Shoes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.111961", + "reason": "already_on_server" + }, + "cliff richard_do you wanna dance": { + "artist": "Cliff Richard", + "title": "Do You Wanna Dance", + "video_title": "Cliff Richard - Do You Wanna Dance - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.142989", + "reason": "already_on_server" + }, + "rod stewart_you're in my heart": { + "artist": "Rod Stewart", + "title": "You're In My Heart", + "video_title": "Rod Stewart - You're In My Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.173548", + "reason": "already_on_server" + }, + "the monkees_last train to clarksville": { + "artist": "The Monkees", + "title": "Last Train To Clarksville", + "video_title": "The Monkees - Last Train To Clarksville - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.198784", + "reason": "already_on_server" + }, + "billy joel_this night": { + "artist": "Billy Joel", + "title": "This Night", + "video_title": "Billy Joel - This Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.226177", + "reason": "already_on_server" + }, + "cliff richard_bachelor boy": { + "artist": "Cliff Richard", + "title": "Bachelor Boy", + "video_title": "Cliff Richard - Bachelor Boy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.255261", + "reason": "already_on_server" + }, + "billy joel_a matter of trust": { + "artist": "Billy Joel", + "title": "A Matter Of Trust", + "video_title": "Billy Joel - A Matter Of Trust - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.301112", + "reason": "already_on_server" + }, + "marmalade_reflections of my life": { + "artist": "Marmalade", + "title": "Reflections Of My Life", + "video_title": "Marmalade - Reflections Of My Life - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.345115", + "reason": "already_on_server" + }, + "billy joel_you may be right": { + "artist": "Billy Joel", + "title": "You May Be Right", + "video_title": "Billy Joel - You May Be Right - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.375612", + "reason": "already_on_server" + }, + "gnarls barkley_crazy": { + "artist": "Gnarls Barkley", + "title": "Crazy", + "video_title": "Gnarls Barkley - Crazy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.411419", + "reason": "already_on_server" + }, + "billy joel_the longest time": { + "artist": "Billy Joel", + "title": "The Longest Time", + "video_title": "Billy Joel - The Longest Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.448162", + "reason": "already_on_server" + }, + "billy joel_she's always a woman": { + "artist": "Billy Joel", + "title": "She's Always A Woman", + "video_title": "Billy Joel - She's Always A Woman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.487036", + "reason": "already_on_server" + }, + "billy joel_don't ask me why": { + "artist": "Billy Joel", + "title": "Don't Ask Me Why", + "video_title": "Billy Joel - Don't Ask Me Why - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.518853", + "reason": "already_on_server" + }, + "matt monro_from russia with love": { + "artist": "Matt Monro", + "title": "From Russia With Love", + "video_title": "Matt Monro - From Russia With Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.556358", + "reason": "already_on_server" + }, + "fleetwood mac_songbird": { + "artist": "Fleetwood Mac", + "title": "Songbird", + "video_title": "Fleetwood Mac - Songbird - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.584028", + "reason": "already_on_server" + }, + "fleetwood mac_seven wonders": { + "artist": "Fleetwood Mac", + "title": "Seven Wonders", + "video_title": "Fleetwood Mac - Seven Wonders - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.615458", + "reason": "already_on_server" + }, + "the rolling stones_the last time": { + "artist": "The Rolling Stones", + "title": "The Last Time", + "video_title": "The Rolling Stones - The Last Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.646283", + "reason": "already_on_server" + }, + "matt monro_the impossible dream": { + "artist": "Matt Monro", + "title": "The Impossible Dream", + "video_title": "Matt Monro - The Impossible Dream - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.687180", + "reason": "already_on_server" + }, + "smokie_it's your life": { + "artist": "Smokie", + "title": "It's Your Life", + "video_title": "Smokie - It's Your Life - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.708537", + "reason": "already_on_server" + }, + "peter and gordon_a world without love": { + "artist": "Peter And Gordon", + "title": "A World Without Love", + "video_title": "Peter And Gordon - A World Without Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.736952", + "reason": "already_on_server" + }, + "the smiths_there is a light that never goes out": { + "artist": "The Smiths", + "title": "There Is A Light That Never Goes Out", + "video_title": "The Smiths - There Is A Light That Never Goes Out - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.767572", + "reason": "already_on_server" + }, + "the cascades_rhythm of the rain": { + "artist": "The Cascades", + "title": "Rhythm Of The Rain", + "video_title": "The Cascades - Rhythm Of The Rain - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.792828", + "reason": "already_on_server" + }, + "george mccrae_rock your baby": { + "artist": "George McCrae", + "title": "Rock Your Baby", + "video_title": "George McCrae - Rock Your Baby - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.826456", + "reason": "already_on_server" + }, + "the carpenters_(they long to be) close to you": { + "artist": "The Carpenters", + "title": "(They Long To Be) Close To You", + "video_title": "The Carpenters - (They Long To Be) Close To You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.858822", + "reason": "already_on_server" + }, + "the specials_ghost town": { + "artist": "The Specials", + "title": "Ghost Town", + "video_title": "The Specials - Ghost Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.891980", + "reason": "already_on_server" + }, + "gerry & the pacemakers_how do you do it": { + "artist": "Gerry & The Pacemakers", + "title": "How Do You Do It", + "video_title": "Gerry & The Pacemakers - How Do You Do It - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.923305", + "reason": "already_on_server" + }, + "chris rea_fool (if you think it's over)": { + "artist": "Chris Rea", + "title": "Fool (If You Think It's Over)", + "video_title": "Chris Rea - Fool (If You Think It's Over) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:11.947381", + "reason": "already_on_server" + }, + "eva cassidy_god bless the child": { + "artist": "Eva Cassidy", + "title": "God Bless The Child", + "video_title": "Eva Cassidy - God Bless The Child - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.048228", + "reason": "already_on_server" + }, + "the swinging blue jeans_hippy hippy shake": { + "artist": "The Swinging Blue Jeans", + "title": "Hippy Hippy Shake", + "video_title": "The Swinging Blue Jeans - Hippy Hippy Shake - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.135963", + "reason": "already_on_server" + }, + "sam cooke_cupid": { + "artist": "Sam Cooke", + "title": "Cupid", + "video_title": "Sam Cooke - Cupid - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.181728", + "reason": "already_on_server" + }, + "the marcels_blue moon": { + "artist": "The Marcels", + "title": "Blue Moon", + "video_title": "The Marcels - Blue Moon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.213876", + "reason": "already_on_server" + }, + "sam cooke_chain gang": { + "artist": "Sam Cooke", + "title": "Chain Gang", + "video_title": "Sam Cooke - Chain Gang - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.248435", + "reason": "already_on_server" + }, + "sam cooke_only sixteen": { + "artist": "Sam Cooke", + "title": "Only Sixteen", + "video_title": "Sam Cooke - Only Sixteen - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.287155", + "reason": "already_on_server" + }, + "smokie_for a few dollars more": { + "artist": "Smokie", + "title": "For A Few Dollars More", + "video_title": "Smokie - For A Few Dollars More - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.321206", + "reason": "already_on_server" + }, + "smokie_if you think you know how to love me": { + "artist": "Smokie", + "title": "If You Think You Know How To Love Me", + "video_title": "Smokie - If You Think You Know How To Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.355659", + "reason": "already_on_server" + }, + "connie francis_stupid cupid": { + "artist": "Connie Francis", + "title": "Stupid Cupid", + "video_title": "Connie Francis - Stupid Cupid - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.386412", + "reason": "already_on_server" + }, + "connie francis_where the boys are": { + "artist": "Connie Francis", + "title": "Where The Boys Are", + "video_title": "Connie Francis - Where The Boys Are - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.412528", + "reason": "already_on_server" + }, + "cliff richard_move it": { + "artist": "Cliff Richard", + "title": "Move It", + "video_title": "Cliff Richard - Move It - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.441541", + "reason": "already_on_server" + }, + "smokie_don't play your rock 'n' roll to me": { + "artist": "Smokie", + "title": "Don't Play Your Rock 'N' Roll To Me", + "video_title": "Smokie - Don't Play Your Rock 'N' Roll To Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.472207", + "reason": "already_on_server" + }, + "avril lavigne_fall to pieces": { + "artist": "Avril Lavigne", + "title": "Fall To Pieces", + "video_title": "Avril Lavigne - Fall To Pieces - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.492149", + "reason": "already_on_server" + }, + "avril lavigne_take me away": { + "artist": "Avril Lavigne", + "title": "Take Me Away", + "video_title": "Avril Lavigne - Take Me Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.526734", + "reason": "already_on_server" + }, + "gracie fields_wish me luck as you wave me goodbye": { + "artist": "Gracie Fields", + "title": "Wish Me Luck As You Wave Me Goodbye", + "video_title": "Gracie Fields - Wish Me Luck As You Wave Me Goodbye - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.566606", + "reason": "already_on_server" + }, + "vera lynn_lili marlene": { + "artist": "Vera Lynn", + "title": "Lili Marlene", + "video_title": "Vera Lynn - Lili Marlene - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.602447", + "reason": "already_on_server" + }, + "the andrews sisters_boogie woogie bugle boy": { + "artist": "The Andrews Sisters", + "title": "Boogie Woogie Bugle Boy", + "video_title": "The Andrews Sisters - Boogie Woogie Bugle Boy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.633447", + "reason": "already_on_server" + }, + "vera lynn_a nightingale sang in berkeley square": { + "artist": "Vera Lynn", + "title": "A Nightingale Sang In Berkeley Square", + "video_title": "Vera Lynn - A Nightingale Sang In Berkeley Square - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.665244", + "reason": "already_on_server" + }, + "norah jones_don't miss you at all": { + "artist": "Norah Jones", + "title": "Don't Miss You At All", + "video_title": "Norah Jones - Don't Miss You At All - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.701353", + "reason": "already_on_server" + }, + "norah jones_humble me": { + "artist": "Norah Jones", + "title": "Humble Me", + "video_title": "Norah Jones - Humble Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.733658", + "reason": "already_on_server" + }, + "norah jones_sunrise": { + "artist": "Norah Jones", + "title": "Sunrise", + "video_title": "Norah Jones - Sunrise - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.759592", + "reason": "already_on_server" + }, + "norah jones_be here to love me": { + "artist": "Norah Jones", + "title": "Be Here To Love Me", + "video_title": "Norah Jones - Be Here To Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.785058", + "reason": "already_on_server" + }, + "norah jones_toes": { + "artist": "Norah Jones", + "title": "Toes", + "video_title": "Norah Jones - Toes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.809940", + "reason": "already_on_server" + }, + "norah jones_above ground": { + "artist": "Norah Jones", + "title": "Above Ground", + "video_title": "Norah Jones - Above Ground - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.835342", + "reason": "already_on_server" + }, + "the jungle book_bare necessities": { + "artist": "The Jungle Book", + "title": "Bare Necessities", + "video_title": "The Jungle Book - Bare Necessities - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.868183", + "reason": "already_on_server" + }, + "freddie mercury_the great pretender": { + "artist": "Freddie Mercury", + "title": "The Great Pretender", + "video_title": "Freddie Mercury - The Great Pretender - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.893991", + "reason": "already_on_server" + }, + "aladdin_a whole new world": { + "artist": "Aladdin", + "title": "A Whole New World", + "video_title": "Aladdin - A Whole New World - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.926438", + "reason": "already_on_server" + }, + "john lennon_beautiful boy (darling boy)": { + "artist": "John Lennon", + "title": "Beautiful Boy (Darling Boy)", + "video_title": "John Lennon - Beautiful Boy (Darling Boy) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.952099", + "reason": "already_on_server" + }, + "norah jones_one flight down": { + "artist": "Norah Jones", + "title": "One Flight Down", + "video_title": "Norah Jones - One Flight Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:12.988426", + "reason": "already_on_server" + }, + "norah jones_nightingale": { + "artist": "Norah Jones", + "title": "Nightingale", + "video_title": "Norah Jones - Nightingale - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.028590", + "reason": "already_on_server" + }, + "norah jones_i've got to see you again": { + "artist": "Norah Jones", + "title": "I've Got To See You Again", + "video_title": "Norah Jones - I've Got To See You Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.051469", + "reason": "already_on_server" + }, + "norah jones_lonestar": { + "artist": "Norah Jones", + "title": "Lonestar", + "video_title": "Norah Jones - Lonestar - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.079141", + "reason": "already_on_server" + }, + "norah jones_turn me on": { + "artist": "Norah Jones", + "title": "Turn Me On", + "video_title": "Norah Jones - Turn Me On - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.109155", + "reason": "already_on_server" + }, + "john lennon_watching the wheels": { + "artist": "John Lennon", + "title": "Watching The Wheels", + "video_title": "John Lennon - Watching The Wheels - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.140290", + "reason": "already_on_server" + }, + "the who_i can't explain": { + "artist": "The Who", + "title": "I Can't Explain", + "video_title": "The Who - I Can't Explain - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.167100", + "reason": "already_on_server" + }, + "phil collins_against all odds (take a look at me now)": { + "artist": "Phil Collins", + "title": "Against All Odds (Take A Look At Me Now)", + "video_title": "Phil Collins - Against All Odds (Take A Look At Me Now) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.201136", + "reason": "already_on_server" + }, + "counting crows_holiday in spain": { + "artist": "Counting Crows", + "title": "Holiday In Spain", + "video_title": "Counting Crows - Holiday In Spain - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.238544", + "reason": "already_on_server" + }, + "jackie wilson_(your love keeps lifting me) higher and higher": { + "artist": "Jackie Wilson", + "title": "(Your Love Keeps Lifting Me) Higher And Higher", + "video_title": "Jackie Wilson - (Your Love Keeps Lifting Me) Higher And Higher - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.266790", + "reason": "already_on_server" + }, + "sam cooke_another saturday night": { + "artist": "Sam Cooke", + "title": "Another Saturday Night", + "video_title": "Sam Cooke - Another Saturday Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.297721", + "reason": "already_on_server" + }, + "europe_the final countdown": { + "artist": "Europe", + "title": "The Final Countdown", + "video_title": "Europe - The Final Countdown - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.327451", + "reason": "already_on_server" + }, + "high school musical_breaking free": { + "artist": "High School Musical", + "title": "Breaking Free", + "video_title": "High School Musical - Breaking Free - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.359194", + "reason": "already_on_server" + }, + "high school musical_start of something new": { + "artist": "High School Musical", + "title": "Start Of Something New", + "video_title": "High School Musical - Start Of Something New - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.384796", + "reason": "already_on_server" + }, + "high school musical_stick to the status quo": { + "artist": "High School Musical", + "title": "Stick To The Status Quo", + "video_title": "High School Musical - Stick To The Status Quo - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.408801", + "reason": "already_on_server" + }, + "the fratellis_whistle for the choir": { + "artist": "The Fratellis", + "title": "Whistle For The Choir", + "video_title": "The Fratellis - Whistle For The Choir - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.439038", + "reason": "already_on_server" + }, + "high school musical_when there was me and you": { + "artist": "High School Musical", + "title": "When There Was Me And You", + "video_title": "High School Musical - When There Was Me And You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.465490", + "reason": "already_on_server" + }, + "duran duran_a view to a kill": { + "artist": "Duran Duran", + "title": "A View To A Kill", + "video_title": "Duran Duran - A View To A Kill - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.491309", + "reason": "already_on_server" + }, + "rita coolidge_all time high": { + "artist": "Rita Coolidge", + "title": "All Time High", + "video_title": "Rita Coolidge - All Time High - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.518777", + "reason": "already_on_server" + }, + "shirley bassey_goldfinger": { + "artist": "Shirley Bassey", + "title": "Goldfinger", + "video_title": "Shirley Bassey - Goldfinger - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.543842", + "reason": "already_on_server" + }, + "shirley bassey_diamonds are forever": { + "artist": "Shirley Bassey", + "title": "Diamonds Are Forever", + "video_title": "Shirley Bassey - Diamonds Are Forever - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.571063", + "reason": "already_on_server" + }, + "clout_substitute": { + "artist": "Clout", + "title": "Substitute", + "video_title": "Clout - Substitute - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.599996", + "reason": "already_on_server" + }, + "doris day_teacher's pet": { + "artist": "Doris Day", + "title": "Teacher's Pet", + "video_title": "Doris Day - Teacher's Pet - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.620879", + "reason": "already_on_server" + }, + "doris day_bewitched, bothered and bewildered": { + "artist": "Doris Day", + "title": "Bewitched, Bothered And Bewildered", + "video_title": "Doris Day - Bewitched, Bothered And Bewildered - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.651767", + "reason": "already_on_server" + }, + "doris day_if i give my heart to you": { + "artist": "Doris Day", + "title": "If I Give My Heart To You", + "video_title": "Doris Day - If I Give My Heart To You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.684990", + "reason": "already_on_server" + }, + "blue oyster cult_(don't fear) the reaper": { + "artist": "Blue Oyster Cult", + "title": "(Don't Fear) The Reaper", + "video_title": "Blue Oyster Cult - (Don't Fear) The Reaper - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.706340", + "reason": "already_on_server" + }, + "neil diamond_song sung blue": { + "artist": "Neil Diamond", + "title": "Song Sung Blue", + "video_title": "Neil Diamond - Song Sung Blue - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.732075", + "reason": "already_on_server" + }, + "the hollies_just one look": { + "artist": "The Hollies", + "title": "Just One Look", + "video_title": "The Hollies - Just One Look - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.766058", + "reason": "already_on_server" + }, + "avril lavigne_innocence": { + "artist": "Avril Lavigne", + "title": "Innocence", + "video_title": "Avril Lavigne - Innocence - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.793536", + "reason": "already_on_server" + }, + "cliff richard_travellin' light": { + "artist": "Cliff Richard", + "title": "Travellin' Light", + "video_title": "Cliff Richard - Travellin' Light - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.826157", + "reason": "already_on_server" + }, + "high school musical 2_bet on it": { + "artist": "High School Musical 2", + "title": "Bet On It", + "video_title": "High School Musical 2 - Bet On It - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.856607", + "reason": "already_on_server" + }, + "high school musical 2_everyday": { + "artist": "High School Musical 2", + "title": "Everyday", + "video_title": "High School Musical 2 - Everyday - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.885592", + "reason": "already_on_server" + }, + "high school musical 2_work this out": { + "artist": "High School Musical 2", + "title": "Work This Out", + "video_title": "High School Musical 2 - Work This Out - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.918638", + "reason": "already_on_server" + }, + "high school musical 2_what time is it": { + "artist": "High School Musical 2", + "title": "What Time Is It", + "video_title": "High School Musical 2 - What Time Is It - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.950699", + "reason": "already_on_server" + }, + "high school musical 2_you are the music in me": { + "artist": "High School Musical 2", + "title": "You Are The Music In Me", + "video_title": "High School Musical 2 - You Are The Music In Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:13.979462", + "reason": "already_on_server" + }, + "amy macdonald_this is the life": { + "artist": "Amy Macdonald", + "title": "This Is The Life", + "video_title": "Amy Macdonald - This Is The Life - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.012399", + "reason": "already_on_server" + }, + "leona lewis_i will be": { + "artist": "Leona Lewis", + "title": "I Will Be", + "video_title": "Leona Lewis - I Will Be - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.041625", + "reason": "already_on_server" + }, + "leona lewis_homeless": { + "artist": "Leona Lewis", + "title": "Homeless", + "video_title": "Leona Lewis - Homeless - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.070721", + "reason": "already_on_server" + }, + "sam sparro_black and gold": { + "artist": "Sam Sparro", + "title": "Black And Gold", + "video_title": "Sam Sparro - Black And Gold - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.114141", + "reason": "already_on_server" + }, + "duffy_rockferry": { + "artist": "Duffy", + "title": "Rockferry", + "video_title": "Duffy - Rockferry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.139662", + "reason": "already_on_server" + }, + "the turtles_happy together": { + "artist": "The Turtles", + "title": "Happy Together", + "video_title": "The Turtles - Happy Together - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.164219", + "reason": "already_on_server" + }, + "chic_good times": { + "artist": "Chic", + "title": "Good Times", + "video_title": "Chic - Good Times - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.194677", + "reason": "already_on_server" + }, + "dolly parton_coat of many colours": { + "artist": "Dolly Parton", + "title": "Coat Of Many Colours", + "video_title": "Dolly Parton - Coat Of Many Colours - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.218096", + "reason": "already_on_server" + }, + "chic_everybody dance": { + "artist": "Chic", + "title": "Everybody Dance", + "video_title": "Chic - Everybody Dance - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.240850", + "reason": "already_on_server" + }, + "tammy wynette_your good girl's gonna go bad": { + "artist": "Tammy Wynette", + "title": "Your Good Girl's Gonna Go Bad", + "video_title": "Tammy Wynette - Your Good Girl's Gonna Go Bad - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.270855", + "reason": "already_on_server" + }, + "tenpole tudor_swords of a thousand men": { + "artist": "Tenpole Tudor", + "title": "Swords Of A Thousand Men", + "video_title": "Tenpole Tudor - Swords Of A Thousand Men - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.302225", + "reason": "already_on_server" + }, + "amy winehouse_wake up alone": { + "artist": "Amy Winehouse", + "title": "Wake Up Alone", + "video_title": "Amy Winehouse - Wake Up Alone - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.333780", + "reason": "already_on_server" + }, + "amy winehouse_cupid": { + "artist": "Amy Winehouse", + "title": "Cupid", + "video_title": "Amy Winehouse - Cupid - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.372231", + "reason": "already_on_server" + }, + "the equals_baby come back": { + "artist": "The Equals", + "title": "Baby Come Back", + "video_title": "The Equals - Baby Come Back - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.400072", + "reason": "already_on_server" + }, + "peter sarstedt_where do you go to (my lovely)": { + "artist": "Peter Sarstedt", + "title": "Where Do You Go To (My Lovely)", + "video_title": "Peter Sarstedt - Where Do You Go To (My Lovely) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.429084", + "reason": "already_on_server" + }, + "amy winehouse_addicted": { + "artist": "Amy Winehouse", + "title": "Addicted", + "video_title": "Amy Winehouse - Addicted - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.456745", + "reason": "already_on_server" + }, + "chris montez_the more i see you": { + "artist": "Chris Montez", + "title": "The More I See You", + "video_title": "Chris Montez - The More I See You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.490682", + "reason": "already_on_server" + }, + "amy winehouse_just friends": { + "artist": "Amy Winehouse", + "title": "Just Friends", + "video_title": "Amy Winehouse - Just Friends - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.519995", + "reason": "already_on_server" + }, + "bread_the guitar man": { + "artist": "Bread", + "title": "The Guitar Man", + "video_title": "Bread - The Guitar Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.549776", + "reason": "already_on_server" + }, + "bread_everything i own": { + "artist": "Bread", + "title": "Everything I Own", + "video_title": "Bread - Everything I Own - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.580648", + "reason": "already_on_server" + }, + "the script_the man who can't be moved": { + "artist": "The Script", + "title": "The Man Who Can't Be Moved", + "video_title": "The Script - The Man Who Can't Be Moved - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.610443", + "reason": "already_on_server" + }, + "marmalade_ob-la-di, ob-la-da": { + "artist": "Marmalade", + "title": "Ob-La-Di, Ob-La-Da", + "video_title": "Marmalade - Ob-La-Di, Ob-La-Da - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.642062", + "reason": "already_on_server" + }, + "10cc_the things we do for love": { + "artist": "10cc", + "title": "The Things We Do For Love", + "video_title": "10cc - The Things We Do For Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.674640", + "reason": "already_on_server" + }, + "gilbert o'sullivan_alone again (naturally)": { + "artist": "Gilbert O'Sullivan", + "title": "Alone Again (Naturally)", + "video_title": "Gilbert O'Sullivan - Alone Again (Naturally) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.699083", + "reason": "already_on_server" + }, + "gabriella cilmi_sweet about me": { + "artist": "Gabriella Cilmi", + "title": "Sweet About Me", + "video_title": "Gabriella Cilmi - Sweet About Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.724902", + "reason": "already_on_server" + }, + "thin lizzy_the boys are back in town": { + "artist": "Thin Lizzy", + "title": "The Boys Are Back In Town", + "video_title": "Thin Lizzy - The Boys Are Back In Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.750887", + "reason": "already_on_server" + }, + "peter frampton_show me the way": { + "artist": "Peter Frampton", + "title": "Show Me The Way", + "video_title": "Peter Frampton - Show Me The Way - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.778986", + "reason": "already_on_server" + }, + "duffy_stepping stone": { + "artist": "Duffy", + "title": "Stepping Stone", + "video_title": "Duffy - Stepping Stone - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.808836", + "reason": "already_on_server" + }, + "the moody blues_nights in white satin": { + "artist": "The Moody Blues", + "title": "Nights In White Satin", + "video_title": "The Moody Blues - Nights In White Satin - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.835337", + "reason": "already_on_server" + }, + "odyssey_going back to my roots": { + "artist": "Odyssey", + "title": "Going Back To My Roots", + "video_title": "Odyssey - Going Back To My Roots - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.866631", + "reason": "already_on_server" + }, + "duffy_delayed devotion": { + "artist": "Duffy", + "title": "Delayed Devotion", + "video_title": "Duffy - Delayed Devotion - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.898867", + "reason": "already_on_server" + }, + "roxy music_dance away": { + "artist": "Roxy Music", + "title": "Dance Away", + "video_title": "Roxy Music - Dance Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.934371", + "reason": "already_on_server" + }, + "the easybeats_friday on my mind": { + "artist": "The Easybeats", + "title": "Friday On My Mind", + "video_title": "The Easybeats - Friday On My Mind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:14.967170", + "reason": "already_on_server" + }, + "bobby darin_splish splash": { + "artist": "Bobby Darin", + "title": "Splish Splash", + "video_title": "Bobby Darin - Splish Splash - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.006848", + "reason": "already_on_server" + }, + "whitney houston_the greatest love of all": { + "artist": "Whitney Houston", + "title": "The Greatest Love Of All", + "video_title": "Whitney Houston - The Greatest Love Of All - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.043476", + "reason": "already_on_server" + }, + "cyndi lauper_i drove all night": { + "artist": "Cyndi Lauper", + "title": "I Drove All Night", + "video_title": "Cyndi Lauper - I Drove All Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.076616", + "reason": "already_on_server" + }, + "pat boone_love letters in the sand": { + "artist": "Pat Boone", + "title": "Love Letters In The Sand", + "video_title": "Pat Boone - Love Letters In The Sand - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.110744", + "reason": "already_on_server" + }, + "the cure_friday i'm in love": { + "artist": "The Cure", + "title": "Friday I'm In Love", + "video_title": "The Cure - Friday I'm In Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.135731", + "reason": "already_on_server" + }, + "high school musical 3_right here, right now": { + "artist": "High School Musical 3", + "title": "Right Here, Right Now", + "video_title": "High School Musical 3 - Right Here, Right Now - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.184932", + "reason": "already_on_server" + }, + "peaches and herb_reunited": { + "artist": "Peaches And Herb", + "title": "Reunited", + "video_title": "Peaches And Herb - Reunited - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.214411", + "reason": "already_on_server" + }, + "high school musical 3_scream": { + "artist": "High School Musical 3", + "title": "Scream", + "video_title": "High School Musical 3 - Scream - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.250461", + "reason": "already_on_server" + }, + "high school musical 3_can i have this dance": { + "artist": "High School Musical 3", + "title": "Can I Have This Dance", + "video_title": "High School Musical 3 - Can I Have This Dance - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.279338", + "reason": "already_on_server" + }, + "the housemartins_caravan of love": { + "artist": "The Housemartins", + "title": "Caravan Of Love", + "video_title": "The Housemartins - Caravan Of Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.308104", + "reason": "already_on_server" + }, + "lenka_the show": { + "artist": "Lenka", + "title": "The Show", + "video_title": "Lenka - The Show - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.335708", + "reason": "already_on_server" + }, + "johnny cash_cry! cry! cry!": { + "artist": "Johnny Cash", + "title": "Cry! Cry! Cry!", + "video_title": "Johnny Cash - Cry! Cry! Cry! - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.372534", + "reason": "already_on_server" + }, + "paul anka_you are my destiny": { + "artist": "Paul Anka", + "title": "You Are My Destiny", + "video_title": "Paul Anka - You Are My Destiny - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.400865", + "reason": "already_on_server" + }, + "dean martin_bumming around": { + "artist": "Dean Martin", + "title": "Bumming Around", + "video_title": "Dean Martin - Bumming Around - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.434596", + "reason": "already_on_server" + }, + "the pretenders_kid": { + "artist": "The Pretenders", + "title": "Kid", + "video_title": "The Pretenders - Kid - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.460021", + "reason": "already_on_server" + }, + "the pretenders_don't get me wrong": { + "artist": "The Pretenders", + "title": "Don't Get Me Wrong", + "video_title": "The Pretenders - Don't Get Me Wrong - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.494612", + "reason": "already_on_server" + }, + "lady gaga_brown eyes": { + "artist": "Lady Gaga", + "title": "Brown Eyes", + "video_title": "Lady Gaga - Brown Eyes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.522314", + "reason": "already_on_server" + }, + "lady gaga_disco heaven": { + "artist": "Lady Gaga", + "title": "Disco Heaven", + "video_title": "Lady Gaga - Disco Heaven - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.546568", + "reason": "already_on_server" + }, + "lady gaga_summerboy": { + "artist": "Lady Gaga", + "title": "Summerboy", + "video_title": "Lady Gaga - Summerboy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.569964", + "reason": "already_on_server" + }, + "the pretenders_back on the chain gang": { + "artist": "The Pretenders", + "title": "Back On The Chain Gang", + "video_title": "The Pretenders - Back On The Chain Gang - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.593746", + "reason": "already_on_server" + }, + "engelbert humperdinck_spanish eyes": { + "artist": "Engelbert Humperdinck", + "title": "Spanish Eyes", + "video_title": "Engelbert Humperdinck - Spanish Eyes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.620267", + "reason": "already_on_server" + }, + "lady gaga_again again": { + "artist": "Lady Gaga", + "title": "Again Again", + "video_title": "Lady Gaga - Again Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.647357", + "reason": "already_on_server" + }, + "engelbert humperdinck_a man without love": { + "artist": "Engelbert Humperdinck", + "title": "A Man Without Love", + "video_title": "Engelbert Humperdinck - A Man Without Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.673064", + "reason": "already_on_server" + }, + "lady gaga_the fame": { + "artist": "Lady Gaga", + "title": "The Fame", + "video_title": "Lady Gaga - The Fame - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.705106", + "reason": "already_on_server" + }, + "engelbert humperdinck_les bicyclettes de belsize": { + "artist": "Engelbert Humperdinck", + "title": "Les Bicyclettes De Belsize", + "video_title": "Engelbert Humperdinck - Les Bicyclettes De Belsize - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.736978", + "reason": "already_on_server" + }, + "engelbert humperdinck_the last waltz": { + "artist": "Engelbert Humperdinck", + "title": "The Last Waltz", + "video_title": "Engelbert Humperdinck - The Last Waltz - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.766641", + "reason": "already_on_server" + }, + "lady gaga_lovegame": { + "artist": "Lady Gaga", + "title": "Lovegame", + "video_title": "Lady Gaga - Lovegame - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.791505", + "reason": "already_on_server" + }, + "the jackson 5_i'll be there": { + "artist": "The Jackson 5", + "title": "I'll Be There", + "video_title": "The Jackson 5 - I'll Be There - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.827605", + "reason": "already_on_server" + }, + "the righteous brothers_unchained melody": { + "artist": "The Righteous Brothers", + "title": "Unchained Melody", + "video_title": "The Righteous Brothers - Unchained Melody - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.849472", + "reason": "already_on_server" + }, + "the jackson 5_abc": { + "artist": "The Jackson 5", + "title": "ABC", + "video_title": "The Jackson 5 - ABC - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.878255", + "reason": "already_on_server" + }, + "pink_funhouse": { + "artist": "Pink", + "title": "Funhouse", + "video_title": "Pink - Funhouse - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.907643", + "reason": "already_on_server" + }, + "phil collins_a groovy kind of love": { + "artist": "Phil Collins", + "title": "A Groovy Kind Of Love", + "video_title": "Phil Collins - A Groovy Kind Of Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.936054", + "reason": "already_on_server" + }, + "the rolling stones_let's spend the night together": { + "artist": "The Rolling Stones", + "title": "Let's Spend The Night Together", + "video_title": "The Rolling Stones - Let's Spend The Night Together - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.965817", + "reason": "already_on_server" + }, + "the rolling stones_angie": { + "artist": "The Rolling Stones", + "title": "Angie", + "video_title": "The Rolling Stones - Angie - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:15.994298", + "reason": "already_on_server" + }, + "the rolling stones_ruby tuesday": { + "artist": "The Rolling Stones", + "title": "Ruby Tuesday", + "video_title": "The Rolling Stones - Ruby Tuesday - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.023068", + "reason": "already_on_server" + }, + "the rolling stones_not fade away": { + "artist": "The Rolling Stones", + "title": "Not Fade Away", + "video_title": "The Rolling Stones - Not Fade Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.045676", + "reason": "already_on_server" + }, + "susan boyle_who i was born to be": { + "artist": "Susan Boyle", + "title": "Who I Was Born To Be", + "video_title": "Susan Boyle - Who I Was Born To Be - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.074106", + "reason": "already_on_server" + }, + "the rolling stones_wild horses": { + "artist": "The Rolling Stones", + "title": "Wild Horses", + "video_title": "The Rolling Stones - Wild Horses - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.102489", + "reason": "already_on_server" + }, + "ke$ha_tik tok": { + "artist": "Ke$Ha", + "title": "Tik Tok", + "video_title": "Ke$Ha - Tik Tok - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.126763", + "reason": "already_on_server" + }, + "susan boyle_cry me a river": { + "artist": "Susan Boyle", + "title": "Cry Me A River", + "video_title": "Susan Boyle - Cry Me A River - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.155389", + "reason": "already_on_server" + }, + "the waitresses_christmas wrapping": { + "artist": "The Waitresses", + "title": "Christmas Wrapping", + "video_title": "The Waitresses - Christmas Wrapping - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.179134", + "reason": "already_on_server" + }, + "the rolling stones_under my thumb": { + "artist": "The Rolling Stones", + "title": "Under My Thumb", + "video_title": "The Rolling Stones - Under My Thumb - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.208871", + "reason": "already_on_server" + }, + "the pretenders_talk of the town": { + "artist": "The Pretenders", + "title": "Talk Of The Town", + "video_title": "The Pretenders - Talk Of The Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.249778", + "reason": "already_on_server" + }, + "cat stevens_wild world": { + "artist": "Cat Stevens", + "title": "Wild World", + "video_title": "Cat Stevens - Wild World - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.282675", + "reason": "already_on_server" + }, + "cat stevens_the first cut is the deepest": { + "artist": "Cat Stevens", + "title": "The First Cut Is The Deepest", + "video_title": "Cat Stevens - The First Cut Is The Deepest - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.311467", + "reason": "already_on_server" + }, + "cat stevens_father and son": { + "artist": "Cat Stevens", + "title": "Father And Son", + "video_title": "Cat Stevens - Father And Son - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.340718", + "reason": "already_on_server" + }, + "the commitments_in the midnight hour": { + "artist": "The Commitments", + "title": "In The Midnight Hour", + "video_title": "The Commitments - In The Midnight Hour - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.376128", + "reason": "already_on_server" + }, + "boy george_everything i own": { + "artist": "Boy George", + "title": "Everything I Own", + "video_title": "Boy George - Everything I Own - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.419748", + "reason": "already_on_server" + }, + "the lovin' spoonful_daydream": { + "artist": "The Lovin' Spoonful", + "title": "Daydream", + "video_title": "The Lovin' Spoonful - Daydream - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.450568", + "reason": "already_on_server" + }, + "the jackson 5_santa claus is coming to town": { + "artist": "The Jackson 5", + "title": "Santa Claus Is Coming To Town", + "video_title": "The Jackson 5 - Santa Claus Is Coming To Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.483676", + "reason": "already_on_server" + }, + "kylie minogue_santa baby": { + "artist": "Kylie Minogue", + "title": "Santa Baby", + "video_title": "Kylie Minogue - Santa Baby - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.509667", + "reason": "already_on_server" + }, + "otis redding_(sittin' on) the dock of the bay": { + "artist": "Otis Redding", + "title": "(Sittin' On) The Dock Of The Bay", + "video_title": "Otis Redding - (Sittin' On) The Dock Of The Bay - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.542818", + "reason": "already_on_server" + }, + "joe longthorne_love is all": { + "artist": "Joe Longthorne", + "title": "Love Is All", + "video_title": "Joe Longthorne - Love Is All - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.577167", + "reason": "already_on_server" + }, + "bette midler_the rose": { + "artist": "Bette Midler", + "title": "The Rose", + "video_title": "Bette Midler - The Rose - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.611587", + "reason": "already_on_server" + }, + "lady gaga_monster": { + "artist": "Lady Gaga", + "title": "Monster", + "video_title": "Lady Gaga - Monster - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.639343", + "reason": "already_on_server" + }, + "tom jones_what's new pussycat": { + "artist": "Tom Jones", + "title": "What's New Pussycat", + "video_title": "Tom Jones - What's New Pussycat - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.666543", + "reason": "already_on_server" + }, + "labi siffre_(something inside) so strong": { + "artist": "Labi Siffre", + "title": "(Something Inside) So Strong", + "video_title": "Labi Siffre - (Something Inside) So Strong - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.699217", + "reason": "already_on_server" + }, + "stevie wonder_my cherie amour": { + "artist": "Stevie Wonder", + "title": "My Cherie Amour", + "video_title": "Stevie Wonder - My Cherie Amour - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.733897", + "reason": "already_on_server" + }, + "bad manners_lip up fatty": { + "artist": "Bad Manners", + "title": "Lip Up Fatty", + "video_title": "Bad Manners - Lip Up Fatty - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.756628", + "reason": "already_on_server" + }, + "men without hats_the safety dance": { + "artist": "Men Without Hats", + "title": "The Safety Dance", + "video_title": "Men Without Hats - The Safety Dance - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.789922", + "reason": "already_on_server" + }, + "cutting crew_(i just) died in your arms": { + "artist": "Cutting Crew", + "title": "(I Just) Died In Your Arms", + "video_title": "Cutting Crew - (I Just) Died In Your Arms - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.821514", + "reason": "already_on_server" + }, + "the baseballs_hey there delilah": { + "artist": "The Baseballs", + "title": "Hey There Delilah", + "video_title": "The Baseballs - Hey There Delilah - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.855464", + "reason": "already_on_server" + }, + "the baseballs_the look": { + "artist": "The Baseballs", + "title": "The Look", + "video_title": "The Baseballs - The Look - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.881233", + "reason": "already_on_server" + }, + "dean martin_under the bridges of paris": { + "artist": "Dean Martin", + "title": "Under The Bridges Of Paris", + "video_title": "Dean Martin - Under The Bridges Of Paris - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.914794", + "reason": "already_on_server" + }, + "neil diamond_kentucky woman": { + "artist": "Neil Diamond", + "title": "Kentucky Woman", + "video_title": "Neil Diamond - Kentucky Woman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.945974", + "reason": "already_on_server" + }, + "neil diamond_cherry, cherry": { + "artist": "Neil Diamond", + "title": "Cherry, Cherry", + "video_title": "Neil Diamond - Cherry, Cherry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.973408", + "reason": "already_on_server" + }, + "dean martin_standing on the corner": { + "artist": "Dean Martin", + "title": "Standing On The Corner", + "video_title": "Dean Martin - Standing On The Corner - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:16.999817", + "reason": "already_on_server" + }, + "gladys knight & the pips_midnight train to georgia": { + "artist": "Gladys Knight & The Pips", + "title": "Midnight Train To Georgia", + "video_title": "Gladys Knight & The Pips - Midnight Train To Georgia - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.024153", + "reason": "already_on_server" + }, + "brendon_gimme some": { + "artist": "Brendon", + "title": "Gimme Some", + "video_title": "Brendon - Gimme Some - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.062778", + "reason": "already_on_server" + }, + "neil diamond_shilo": { + "artist": "Neil Diamond", + "title": "Shilo", + "video_title": "Neil Diamond - Shilo - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.087051", + "reason": "already_on_server" + }, + "neil diamond_play me": { + "artist": "Neil Diamond", + "title": "Play Me", + "video_title": "Neil Diamond - Play Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.115393", + "reason": "already_on_server" + }, + "the wanted_lose my mind": { + "artist": "The Wanted", + "title": "Lose My Mind", + "video_title": "The Wanted - Lose My Mind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.155528", + "reason": "already_on_server" + }, + "the four seasons_working my way back to you": { + "artist": "The Four Seasons", + "title": "Working My Way Back To You", + "video_title": "The Four Seasons - Working My Way Back To You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.184710", + "reason": "already_on_server" + }, + "the corrs_so young": { + "artist": "The Corrs", + "title": "So Young", + "video_title": "The Corrs - So Young - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.213658", + "reason": "already_on_server" + }, + "griff_love is a compass": { + "artist": "Griff", + "title": "Love Is A Compass", + "video_title": "Griff - Love Is A Compass - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.245233", + "reason": "already_on_server" + }, + "the pogues_dirty old town": { + "artist": "The Pogues", + "title": "Dirty Old Town", + "video_title": "The Pogues - Dirty Old Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.278662", + "reason": "already_on_server" + }, + "boyzone_father and son": { + "artist": "Boyzone", + "title": "Father And Son", + "video_title": "Boyzone - Father And Son - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.317533", + "reason": "already_on_server" + }, + "arctic monkeys_i bet you look good on the dancefloor": { + "artist": "Arctic Monkeys", + "title": "I Bet You Look Good On The Dancefloor", + "video_title": "Arctic Monkeys - I Bet You Look Good On The Dancefloor - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.349300", + "reason": "already_on_server" + }, + "gene vincent_blue jean bop": { + "artist": "Gene Vincent", + "title": "Blue Jean Bop", + "video_title": "Gene Vincent - Blue Jean Bop - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.375258", + "reason": "already_on_server" + }, + "hanson_mmmbop": { + "artist": "Hanson", + "title": "Mmmbop", + "video_title": "Hanson - Mmmbop - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.407277", + "reason": "already_on_server" + }, + "coolio_gangsta's paradise": { + "artist": "Coolio", + "title": "Gangsta's Paradise", + "video_title": "Coolio - Gangsta's Paradise - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.435839", + "reason": "already_on_server" + }, + "the beautiful south_don't marry her": { + "artist": "The Beautiful South", + "title": "Don't Marry Her", + "video_title": "The Beautiful South - Don't Marry Her - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.467038", + "reason": "already_on_server" + }, + "canned heat_on the road again": { + "artist": "Canned Heat", + "title": "On The Road Again", + "video_title": "Canned Heat - On The Road Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.497459", + "reason": "already_on_server" + }, + "the wanted_glad you came": { + "artist": "The Wanted", + "title": "Glad You Came", + "video_title": "The Wanted - Glad You Came - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.525029", + "reason": "already_on_server" + }, + "the dubliners_the wild rover": { + "artist": "The Dubliners", + "title": "The Wild Rover", + "video_title": "The Dubliners - The Wild Rover - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.559988", + "reason": "already_on_server" + }, + "richard marx_hazard": { + "artist": "Richard Marx", + "title": "Hazard", + "video_title": "Richard Marx - Hazard - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.601280", + "reason": "already_on_server" + }, + "big mountain_baby, i love your way": { + "artist": "Big Mountain", + "title": "Baby, I Love Your Way", + "video_title": "Big Mountain - Baby, I Love Your Way - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.625550", + "reason": "already_on_server" + }, + "amy winehouse_between the cheats": { + "artist": "Amy Winehouse", + "title": "Between The Cheats", + "video_title": "Amy Winehouse - Between The Cheats - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.650754", + "reason": "already_on_server" + }, + "amy winehouse_will you still love me tomorrow": { + "artist": "Amy Winehouse", + "title": "Will You Still Love Me Tomorrow", + "video_title": "Amy Winehouse - Will You Still Love Me Tomorrow - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.676711", + "reason": "already_on_server" + }, + "tom jones_take me to the river (live)": { + "artist": "Tom Jones", + "title": "Take Me To The River (Live)", + "video_title": "Tom Jones - Take Me To The River (Live) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.709485", + "reason": "already_on_server" + }, + "ray parker jr._ghostbusters": { + "artist": "Ray Parker Jr.", + "title": "Ghostbusters", + "video_title": "Ray Parker Jr. - Ghostbusters - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.746969", + "reason": "already_on_server" + }, + "the wanted_lightning": { + "artist": "The Wanted", + "title": "Lightning", + "video_title": "The Wanted - Lightning - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.779434", + "reason": "already_on_server" + }, + "kelly clarkson_mr know it all": { + "artist": "Kelly Clarkson", + "title": "Mr Know It All", + "video_title": "Kelly Clarkson - Mr Know It All - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.816161", + "reason": "already_on_server" + }, + "damien rice_cannonball": { + "artist": "Damien Rice", + "title": "Cannonball", + "video_title": "Damien Rice - Cannonball - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.848418", + "reason": "already_on_server" + }, + "kelly clarkson_stronger": { + "artist": "Kelly Clarkson", + "title": "Stronger", + "video_title": "Kelly Clarkson - Stronger - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.883448", + "reason": "already_on_server" + }, + "sia_courage to change": { + "artist": "Sia", + "title": "Courage To Change", + "video_title": "Sia - Courage To Change - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.923413", + "reason": "already_on_server" + }, + "the doors_people are strange": { + "artist": "The Doors", + "title": "People Are Strange", + "video_title": "The Doors - People Are Strange - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.955224", + "reason": "already_on_server" + }, + "alison moyet_that ole devil called love": { + "artist": "Alison Moyet", + "title": "That Ole Devil Called Love", + "video_title": "Alison Moyet - That Ole Devil Called Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:17.984798", + "reason": "already_on_server" + }, + "celine dion_the first time ever i saw your face": { + "artist": "Celine Dion", + "title": "The First Time Ever I Saw Your Face", + "video_title": "Celine Dion - The First Time Ever I Saw Your Face - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.013572", + "reason": "already_on_server" + }, + "one direction_up all night": { + "artist": "One Direction", + "title": "Up All Night", + "video_title": "One Direction - Up All Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.048012", + "reason": "already_on_server" + }, + "the drifters_on broadway": { + "artist": "The Drifters", + "title": "On Broadway", + "video_title": "The Drifters - On Broadway - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.077998", + "reason": "already_on_server" + }, + "amy winehouse_the girl from ipanema": { + "artist": "Amy Winehouse", + "title": "The Girl From Ipanema", + "video_title": "Amy Winehouse - The Girl From Ipanema - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.113029", + "reason": "already_on_server" + }, + "amy winehouse_a song for you": { + "artist": "Amy Winehouse", + "title": "A Song For You", + "video_title": "Amy Winehouse - A Song For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.144829", + "reason": "already_on_server" + }, + "bill withers_ain't no sunshine": { + "artist": "Bill Withers", + "title": "Ain't No Sunshine", + "video_title": "Bill Withers - Ain't No Sunshine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.181974", + "reason": "already_on_server" + }, + "john denver_leaving on a jet plane": { + "artist": "John Denver", + "title": "Leaving On A Jet Plane", + "video_title": "John Denver - Leaving On A Jet Plane - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.223054", + "reason": "already_on_server" + }, + "queen_the show must go on": { + "artist": "Queen", + "title": "The Show Must Go On", + "video_title": "Queen - The Show Must Go On - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.258299", + "reason": "already_on_server" + }, + "kanye west feat jamie foxx_gold digger": { + "artist": "Kanye West feat Jamie Foxx", + "title": "Gold Digger", + "video_title": "Kanye West feat Jamie Foxx - Gold Digger - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.295030", + "reason": "already_on_server" + }, + "the doobie brothers_listen to the music": { + "artist": "The Doobie Brothers", + "title": "Listen To The Music", + "video_title": "The Doobie Brothers - Listen To The Music - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.324187", + "reason": "already_on_server" + }, + "the supremes_you can't hurry love": { + "artist": "The Supremes", + "title": "You Can't Hurry Love", + "video_title": "The Supremes - You Can't Hurry Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.351478", + "reason": "already_on_server" + }, + "dionne warwick_walk on by": { + "artist": "Dionne Warwick", + "title": "Walk On By", + "video_title": "Dionne Warwick - Walk On By - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.377546", + "reason": "already_on_server" + }, + "alicia keys_if i ain't got you": { + "artist": "Alicia Keys", + "title": "If I Ain't Got You", + "video_title": "Alicia Keys - If I Ain't Got You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.410453", + "reason": "already_on_server" + }, + "britney spears_i love rock 'n' roll": { + "artist": "Britney Spears", + "title": "I Love Rock 'N' Roll", + "video_title": "Britney Spears - I Love Rock 'N' Roll - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.441643", + "reason": "already_on_server" + }, + "boyz ii men_end of the road": { + "artist": "Boyz II Men", + "title": "End Of The Road", + "video_title": "Boyz II Men - End Of The Road - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.468088", + "reason": "already_on_server" + }, + "one direction_they don't know about us": { + "artist": "One Direction", + "title": "They Don't Know About Us", + "video_title": "One Direction - They Don't Know About Us - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.509302", + "reason": "already_on_server" + }, + "paul carrack_when you walk in the room": { + "artist": "Paul Carrack", + "title": "When You Walk In The Room", + "video_title": "Paul Carrack - When You Walk In The Room - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.543270", + "reason": "already_on_server" + }, + "train_bruises": { + "artist": "Train", + "title": "Bruises", + "video_title": "Train - Bruises - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.575455", + "reason": "already_on_server" + }, + "the rolling stones_sympathy for the devil": { + "artist": "The Rolling Stones", + "title": "Sympathy For The Devil", + "video_title": "The Rolling Stones - Sympathy For The Devil - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.608127", + "reason": "already_on_server" + }, + "elbow_one day like this": { + "artist": "Elbow", + "title": "One Day Like This", + "video_title": "Elbow - One Day Like This - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.645605", + "reason": "already_on_server" + }, + "glen campbell_it's only make believe": { + "artist": "Glen Campbell", + "title": "It's Only Make Believe", + "video_title": "Glen Campbell - It's Only Make Believe - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.676298", + "reason": "already_on_server" + }, + "britney spears_i'm not a girl, not yet a woman": { + "artist": "Britney Spears", + "title": "I'm Not A Girl, Not Yet A Woman", + "video_title": "Britney Spears - I'm Not A Girl, Not Yet A Woman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.710108", + "reason": "already_on_server" + }, + "lana del rey_blue jeans": { + "artist": "Lana Del Rey", + "title": "Blue Jeans", + "video_title": "Lana Del Rey - Blue Jeans - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.742438", + "reason": "already_on_server" + }, + "justin bieber_love me": { + "artist": "Justin Bieber", + "title": "Love Me", + "video_title": "Justin Bieber - Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.776121", + "reason": "already_on_server" + }, + "ed sheeran_you need me, i don't need you": { + "artist": "Ed Sheeran", + "title": "You Need Me, I Don't Need You", + "video_title": "Ed Sheeran - You Need Me, I Don't Need You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.815867", + "reason": "already_on_server" + }, + "the kooks_naive": { + "artist": "The Kooks", + "title": "Naive", + "video_title": "The Kooks - Naive - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.847939", + "reason": "already_on_server" + }, + "johnny cash_i've been everywhere": { + "artist": "Johnny Cash", + "title": "I've Been Everywhere", + "video_title": "Johnny Cash - I've Been Everywhere - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.872223", + "reason": "already_on_server" + }, + "cold chisel_khe sanh": { + "artist": "Cold Chisel", + "title": "Khe Sanh", + "video_title": "Cold Chisel - Khe Sanh - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.902076", + "reason": "already_on_server" + }, + "simon and garfunkel_america": { + "artist": "Simon And Garfunkel", + "title": "America", + "video_title": "Simon And Garfunkel - America - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.933257", + "reason": "already_on_server" + }, + "one direction_rock me": { + "artist": "One Direction", + "title": "Rock Me", + "video_title": "One Direction - Rock Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.960266", + "reason": "already_on_server" + }, + "beyonce_run the world (girls)": { + "artist": "Beyonce", + "title": "Run The World (Girls)", + "video_title": "Beyonce - Run The World (Girls) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:18.990001", + "reason": "already_on_server" + }, + "the wizard of oz_ding dong the witch is dead": { + "artist": "The Wizard Of Oz", + "title": "Ding Dong The Witch Is Dead", + "video_title": "The Wizard Of Oz - Ding Dong The Witch Is Dead - Karaoke Version from Zoom", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.015631", + "reason": "already_on_server" + }, + "tony orlando and dawn_candida": { + "artist": "Tony Orlando And Dawn", + "title": "Candida", + "video_title": "Tony Orlando And Dawn - Candida - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.048522", + "reason": "already_on_server" + }, + "boyz ii men_i'll make love to you": { + "artist": "Boyz II Men", + "title": "I'll Make Love To You", + "video_title": "Boyz II Men - I'll Make Love To You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.080336", + "reason": "already_on_server" + }, + "jake bugg_lightning bolt": { + "artist": "Jake Bugg", + "title": "Lightning Bolt", + "video_title": "Jake Bugg - Lightning Bolt - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.114887", + "reason": "already_on_server" + }, + "jake bugg_two fingers": { + "artist": "Jake Bugg", + "title": "Two Fingers", + "video_title": "Jake Bugg - Two Fingers - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.150110", + "reason": "already_on_server" + }, + "marilyn monroe_diamonds are a girl's best friend": { + "artist": "Marilyn Monroe", + "title": "Diamonds Are A Girl's Best Friend", + "video_title": "Marilyn Monroe - Diamonds Are A Girl's Best Friend - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.178922", + "reason": "already_on_server" + }, + "biffy clyro_many of horror": { + "artist": "Biffy Clyro", + "title": "Many Of Horror", + "video_title": "Biffy Clyro - Many Of Horror - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.209501", + "reason": "already_on_server" + }, + "dobie gray_drift away": { + "artist": "Dobie Gray", + "title": "Drift Away", + "video_title": "Dobie Gray - Drift Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.246842", + "reason": "already_on_server" + }, + "boz scaggs_lido shuffle": { + "artist": "Boz Scaggs", + "title": "Lido Shuffle", + "video_title": "Boz Scaggs - Lido Shuffle - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.277558", + "reason": "already_on_server" + }, + "nelly_hey porsche": { + "artist": "Nelly", + "title": "Hey Porsche", + "video_title": "Nelly - Hey Porsche - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.312030", + "reason": "already_on_server" + }, + "arctic monkeys_when the sun goes down": { + "artist": "Arctic Monkeys", + "title": "When The Sun Goes Down", + "video_title": "Arctic Monkeys - When The Sun Goes Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.344304", + "reason": "already_on_server" + }, + "los lobos_la bamba": { + "artist": "Los Lobos", + "title": "La Bamba", + "video_title": "Los Lobos - La Bamba - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.373482", + "reason": "already_on_server" + }, + "the strokes_last nite": { + "artist": "The Strokes", + "title": "Last Nite", + "video_title": "The Strokes - Last Nite - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.401927", + "reason": "already_on_server" + }, + "david gray_this year's love": { + "artist": "David Gray", + "title": "This Year's Love", + "video_title": "David Gray - This Year's Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.433935", + "reason": "already_on_server" + }, + "gabz_lighters (the one)": { + "artist": "Gabz", + "title": "Lighters (The One)", + "video_title": "Gabz - Lighters (The One) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.462893", + "reason": "already_on_server" + }, + "dj sammy_heaven (candlelight mix)": { + "artist": "DJ Sammy", + "title": "Heaven (Candlelight Mix)", + "video_title": "DJ Sammy - Heaven (Candlelight Mix) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.497280", + "reason": "already_on_server" + }, + "the trammps_hold back the night": { + "artist": "The Trammps", + "title": "Hold Back The Night", + "video_title": "The Trammps - Hold Back The Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.531268", + "reason": "already_on_server" + }, + "uncle kracker_follow me": { + "artist": "Uncle Kracker", + "title": "Follow Me", + "video_title": "Uncle Kracker - Follow Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.557986", + "reason": "already_on_server" + }, + "jason derulo_the other side": { + "artist": "Jason Derulo", + "title": "The Other Side", + "video_title": "Jason Derulo - The Other Side - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.591044", + "reason": "already_on_server" + }, + "the wanted_walks like rihanna": { + "artist": "The Wanted", + "title": "Walks Like Rihanna", + "video_title": "The Wanted - Walks Like Rihanna - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.624678", + "reason": "already_on_server" + }, + "leah mcfall_i will survive": { + "artist": "Leah McFall", + "title": "I Will Survive", + "video_title": "Leah McFall - I Will Survive - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.658237", + "reason": "already_on_server" + }, + "fool's garden_lemon tree": { + "artist": "Fool's Garden", + "title": "Lemon Tree", + "video_title": "Fool's Garden - Lemon Tree - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.691443", + "reason": "already_on_server" + }, + "bobby vinton_blue velvet": { + "artist": "Bobby Vinton", + "title": "Blue Velvet", + "video_title": "Bobby Vinton - Blue Velvet - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.726619", + "reason": "already_on_server" + }, + "dusty springfield_i just don't know what to do with myself": { + "artist": "Dusty Springfield", + "title": "I Just Don't Know What To Do With Myself", + "video_title": "Dusty Springfield - I Just Don't Know What To Do With Myself - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.761078", + "reason": "already_on_server" + }, + "glen campbell_gentle on my mind": { + "artist": "Glen Campbell", + "title": "Gentle On My Mind", + "video_title": "Glen Campbell - Gentle On My Mind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.794916", + "reason": "already_on_server" + }, + "katy perry_walking on air": { + "artist": "Katy Perry", + "title": "Walking On Air", + "video_title": "Katy Perry - Walking On Air - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.840275", + "reason": "already_on_server" + }, + "the saturdays_disco love": { + "artist": "The Saturdays", + "title": "Disco Love", + "video_title": "The Saturdays - Disco Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.877018", + "reason": "already_on_server" + }, + "daryl braithwaite_the horses": { + "artist": "Daryl Braithwaite", + "title": "The Horses", + "video_title": "Daryl Braithwaite - The Horses - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.913194", + "reason": "already_on_server" + }, + "regina spektor_samson": { + "artist": "Regina Spektor", + "title": "Samson", + "video_title": "Regina Spektor - Samson - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.946162", + "reason": "already_on_server" + }, + "the little mermaid_part of your world": { + "artist": "The Little Mermaid", + "title": "Part Of Your World", + "video_title": "The Little Mermaid - Part Of Your World - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:19.986653", + "reason": "already_on_server" + }, + "the 1975_the city": { + "artist": "The 1975", + "title": "The City", + "video_title": "The 1975 - The City - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.015900", + "reason": "already_on_server" + }, + "monty python_always look on the bright side of life": { + "artist": "Monty Python", + "title": "Always Look On The Bright Side Of Life", + "video_title": "Monty Python - Always Look On The Bright Side Of Life - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.048839", + "reason": "already_on_server" + }, + "mika_happy ending": { + "artist": "Mika", + "title": "Happy Ending", + "video_title": "Mika - Happy Ending - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.079945", + "reason": "already_on_server" + }, + "johnny cash_personal jesus": { + "artist": "Johnny Cash", + "title": "Personal Jesus", + "video_title": "Johnny Cash - Personal Jesus - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.114166", + "reason": "already_on_server" + }, + "jimmy barnes_working class man": { + "artist": "Jimmy Barnes", + "title": "Working Class Man", + "video_title": "Jimmy Barnes - Working Class Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.143539", + "reason": "already_on_server" + }, + "arctic monkeys_r u mine": { + "artist": "Arctic Monkeys", + "title": "R U Mine", + "video_title": "Arctic Monkeys - R U Mine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.174821", + "reason": "already_on_server" + }, + "cher lloyd_want u back": { + "artist": "Cher Lloyd", + "title": "Want U Back", + "video_title": "Cher Lloyd - Want U Back - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.202773", + "reason": "already_on_server" + }, + "matt cardle and melanie c_loving you": { + "artist": "Matt Cardle And Melanie C", + "title": "Loving You", + "video_title": "Matt Cardle And Melanie C - Loving You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.234552", + "reason": "already_on_server" + }, + "john mayer_why georgia": { + "artist": "John Mayer", + "title": "Why Georgia", + "video_title": "John Mayer - Why Georgia - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.270868", + "reason": "already_on_server" + }, + "the waterboys_the whole of the moon": { + "artist": "The Waterboys", + "title": "The Whole Of The Moon", + "video_title": "The Waterboys - The Whole Of The Moon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.302608", + "reason": "already_on_server" + }, + "justin bieber_heartbreaker": { + "artist": "Justin Bieber", + "title": "Heartbreaker", + "video_title": "Justin Bieber - Heartbreaker - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.332171", + "reason": "already_on_server" + }, + "tracey ullman_breakaway": { + "artist": "Tracey Ullman", + "title": "Breakaway", + "video_title": "Tracey Ullman - Breakaway - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.366495", + "reason": "already_on_server" + }, + "nirvana_heart shaped box": { + "artist": "Nirvana", + "title": "Heart Shaped Box", + "video_title": "Nirvana - Heart Shaped Box - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.400045", + "reason": "already_on_server" + }, + "pixie lott_use somebody": { + "artist": "Pixie Lott", + "title": "Use Somebody", + "video_title": "Pixie Lott - Use Somebody - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.434520", + "reason": "already_on_server" + }, + "jessie j_sexy lady": { + "artist": "Jessie J", + "title": "Sexy Lady", + "video_title": "Jessie J - Sexy Lady - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.480470", + "reason": "already_on_server" + }, + "karyn white_superwoman": { + "artist": "Karyn White", + "title": "Superwoman", + "video_title": "Karyn White - Superwoman - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.514999", + "reason": "already_on_server" + }, + "placebo_song to say goodbye": { + "artist": "Placebo", + "title": "Song To Say Goodbye", + "video_title": "Placebo - Song To Say Goodbye - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.548186", + "reason": "already_on_server" + }, + "one direction_i want": { + "artist": "One Direction", + "title": "I Want", + "video_title": "One Direction - I Want - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.582672", + "reason": "already_on_server" + }, + "bobby boris pickett & the crypt kickers_monster mash": { + "artist": "Bobby Boris Pickett & The Crypt Kickers", + "title": "Monster Mash", + "video_title": "Bobby Boris Pickett & The Crypt Kickers - Monster Mash - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.617309", + "reason": "already_on_server" + }, + "kate bush_the man with the child in his eyes": { + "artist": "Kate Bush", + "title": "The Man With The Child In His Eyes", + "video_title": "Kate Bush - The Man With The Child In His Eyes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.659258", + "reason": "already_on_server" + }, + "jefferson airplane_somebody to love": { + "artist": "Jefferson Airplane", + "title": "Somebody To Love", + "video_title": "Jefferson Airplane - Somebody To Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.690670", + "reason": "already_on_server" + }, + "status quo_what you're proposing": { + "artist": "Status Quo", + "title": "What You're Proposing", + "video_title": "Status Quo - What You're Proposing - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.724088", + "reason": "already_on_server" + }, + "leonard cohen_dance me to the end of love": { + "artist": "Leonard Cohen", + "title": "Dance Me To The End Of Love", + "video_title": "Leonard Cohen - Dance Me To The End Of Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.756300", + "reason": "already_on_server" + }, + "rita ora_shine ya light": { + "artist": "Rita Ora", + "title": "Shine Ya Light", + "video_title": "Rita Ora - Shine Ya Light - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.794474", + "reason": "already_on_server" + }, + "the vamps_wild heart": { + "artist": "The Vamps", + "title": "Wild Heart", + "video_title": "The Vamps - Wild Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.831247", + "reason": "already_on_server" + }, + "dionne warwick_that's what friends are for": { + "artist": "Dionne Warwick", + "title": "That's What Friends Are For", + "video_title": "Dionne Warwick - That's What Friends Are For - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.865021", + "reason": "already_on_server" + }, + "juice newton_angel of the morning": { + "artist": "Juice Newton", + "title": "Angel Of The Morning", + "video_title": "Juice Newton - Angel Of The Morning - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.898003", + "reason": "already_on_server" + }, + "cher_you haven't seen the last of me": { + "artist": "Cher", + "title": "You Haven't Seen The Last Of Me", + "video_title": "Cher - You Haven't Seen The Last Of Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.935616", + "reason": "already_on_server" + }, + "roxette_the look": { + "artist": "Roxette", + "title": "The Look", + "video_title": "Roxette - The Look - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.964325", + "reason": "already_on_server" + }, + "the lion king_hakuna matata": { + "artist": "The Lion King", + "title": "Hakuna Matata", + "video_title": "The Lion King - Hakuna Matata - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:20.995409", + "reason": "already_on_server" + }, + "bruce springsteen_the river": { + "artist": "Bruce Springsteen", + "title": "The River", + "video_title": "Bruce Springsteen - The River - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.029447", + "reason": "already_on_server" + }, + "the vamps_last night": { + "artist": "The Vamps", + "title": "Last Night", + "video_title": "The Vamps - Last Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.059597", + "reason": "already_on_server" + }, + "the monkees_(theme from) the monkees": { + "artist": "The Monkees", + "title": "(Theme From) The Monkees", + "video_title": "The Monkees - (Theme From) The Monkees - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.093365", + "reason": "already_on_server" + }, + "jimmy eat world_the middle": { + "artist": "Jimmy Eat World", + "title": "The Middle", + "video_title": "Jimmy Eat World - The Middle - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.127059", + "reason": "already_on_server" + }, + "bastille_things we lost in the fire": { + "artist": "Bastille", + "title": "Things We Lost In The Fire", + "video_title": "Bastille - Things We Lost In The Fire - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.167758", + "reason": "already_on_server" + }, + "the clash_i fought the law": { + "artist": "The Clash", + "title": "I Fought The Law", + "video_title": "The Clash - I Fought The Law - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.204739", + "reason": "already_on_server" + }, + "jefferson airplane_white rabbit": { + "artist": "Jefferson Airplane", + "title": "White Rabbit", + "video_title": "Jefferson Airplane - White Rabbit - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.248483", + "reason": "already_on_server" + }, + "sister act_oh happy day": { + "artist": "Sister Act", + "title": "Oh Happy Day", + "video_title": "Sister Act - Oh Happy Day - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.288014", + "reason": "already_on_server" + }, + "christina perri_burning gold": { + "artist": "Christina Perri", + "title": "Burning Gold", + "video_title": "Christina Perri - Burning Gold - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.320868", + "reason": "already_on_server" + }, + "the common linnets_calm after the storm": { + "artist": "The Common Linnets", + "title": "Calm After The Storm", + "video_title": "The Common Linnets - Calm After The Storm - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.358659", + "reason": "already_on_server" + }, + "lana del rey_national anthem": { + "artist": "Lana Del Rey", + "title": "National Anthem", + "video_title": "Lana Del Rey - National Anthem - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.400566", + "reason": "already_on_server" + }, + "ben howard_only love": { + "artist": "Ben Howard", + "title": "Only Love", + "video_title": "Ben Howard - Only Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.426557", + "reason": "already_on_server" + }, + "cheap trick_i want you to want me": { + "artist": "Cheap Trick", + "title": "I Want You To Want Me", + "video_title": "Cheap Trick - I Want You To Want Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.454493", + "reason": "already_on_server" + }, + "elvis presley_love me": { + "artist": "Elvis Presley", + "title": "Love Me", + "video_title": "Elvis Presley - Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.486166", + "reason": "already_on_server" + }, + "the cure_in between days": { + "artist": "The Cure", + "title": "In Between Days", + "video_title": "The Cure - In Between Days - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.532468", + "reason": "already_on_server" + }, + "rita ora_i will never let you down": { + "artist": "Rita Ora", + "title": "I Will Never Let You Down", + "video_title": "Rita Ora - I Will Never Let You Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.576542", + "reason": "already_on_server" + }, + "bob dylan_knockin' on heaven's door": { + "artist": "Bob Dylan", + "title": "Knockin' On Heaven's Door", + "video_title": "Bob Dylan - Knockin' On Heaven's Door - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.609851", + "reason": "already_on_server" + }, + "wicked_popular": { + "artist": "Wicked", + "title": "Popular", + "video_title": "Wicked - Popular - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.656623", + "reason": "already_on_server" + }, + "paul carrack_eyes of blue": { + "artist": "Paul Carrack", + "title": "Eyes Of Blue", + "video_title": "Paul Carrack - Eyes Of Blue - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.700147", + "reason": "already_on_server" + }, + "bruce springsteen_one step up": { + "artist": "Bruce Springsteen", + "title": "One Step Up", + "video_title": "Bruce Springsteen - One Step Up - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.904627", + "reason": "already_on_server" + }, + "peter gabriel_solsbury hill": { + "artist": "Peter Gabriel", + "title": "Solsbury Hill", + "video_title": "Peter Gabriel - Solsbury Hill - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:21.966225", + "reason": "already_on_server" + }, + "sister act_hail holy queen": { + "artist": "Sister Act", + "title": "Hail Holy Queen", + "video_title": "Sister Act - Hail Holy Queen - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.001226", + "reason": "already_on_server" + }, + "becky g_shower": { + "artist": "Becky G", + "title": "Shower", + "video_title": "Becky G - Shower - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.049010", + "reason": "already_on_server" + }, + "whitesnake_still of the night": { + "artist": "Whitesnake", + "title": "Still Of The Night", + "video_title": "Whitesnake - Still Of The Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.099365", + "reason": "already_on_server" + }, + "a fine frenzy_almost lover": { + "artist": "A Fine Frenzy", + "title": "Almost Lover", + "video_title": "A Fine Frenzy - Almost Lover - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.135630", + "reason": "already_on_server" + }, + "bars and melody_hopeful": { + "artist": "Bars And Melody", + "title": "Hopeful", + "video_title": "Bars And Melody - Hopeful - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.169987", + "reason": "already_on_server" + }, + "rusted root_send me on my way": { + "artist": "Rusted Root", + "title": "Send Me On My Way", + "video_title": "Rusted Root - Send Me On My Way - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.208031", + "reason": "already_on_server" + }, + "ac/dc_play ball": { + "artist": "AC/DC", + "title": "Play Ball", + "video_title": "AC/DC - Play Ball - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.245188", + "reason": "already_on_server" + }, + "train_shake up christmas": { + "artist": "Train", + "title": "Shake Up Christmas", + "video_title": "Train - Shake Up Christmas - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.272952", + "reason": "already_on_server" + }, + "neil diamond_something blue": { + "artist": "Neil Diamond", + "title": "Something Blue", + "video_title": "Neil Diamond - Something Blue - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.314347", + "reason": "already_on_server" + }, + "alan jackson_good time": { + "artist": "Alan Jackson", + "title": "Good Time", + "video_title": "Alan Jackson - Good Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.353819", + "reason": "already_on_server" + }, + "the veronicas_you ruin me": { + "artist": "The Veronicas", + "title": "You Ruin Me", + "video_title": "The Veronicas - You Ruin Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.400759", + "reason": "already_on_server" + }, + "alan jackson_i'll try": { + "artist": "Alan Jackson", + "title": "I'll Try", + "video_title": "Alan Jackson - I'll Try - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.437345", + "reason": "already_on_server" + }, + "becky g_can't stop dancin'": { + "artist": "Becky G", + "title": "Can't Stop Dancin'", + "video_title": "Becky G - Can't Stop Dancin' - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.484811", + "reason": "already_on_server" + }, + "one direction_where do broken hearts go": { + "artist": "One Direction", + "title": "Where Do Broken Hearts Go", + "video_title": "One Direction - Where Do Broken Hearts Go - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.524119", + "reason": "already_on_server" + }, + "maroon 5_goodnight goodnight": { + "artist": "Maroon 5", + "title": "Goodnight Goodnight", + "video_title": "Maroon 5 - Goodnight Goodnight - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.554732", + "reason": "already_on_server" + }, + "sia_you're never fully dressed without a smile": { + "artist": "Sia", + "title": "You're Never Fully Dressed Without A Smile", + "video_title": "Sia - You're Never Fully Dressed Without A Smile - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.587330", + "reason": "already_on_server" + }, + "def leppard_when love and hate collide": { + "artist": "Def Leppard", + "title": "When Love And Hate Collide", + "video_title": "Def Leppard - When Love And Hate Collide - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.616171", + "reason": "already_on_server" + }, + "one direction_ready to run": { + "artist": "One Direction", + "title": "Ready To Run", + "video_title": "One Direction - Ready To Run - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.650973", + "reason": "already_on_server" + }, + "etta james_i'd rather go blind": { + "artist": "Etta James", + "title": "I'd Rather Go Blind", + "video_title": "Etta James - I'd Rather Go Blind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.690865", + "reason": "already_on_server" + }, + "one direction_clouds": { + "artist": "One Direction", + "title": "Clouds", + "video_title": "One Direction - Clouds - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.737524", + "reason": "already_on_server" + }, + "talk talk_such a shame": { + "artist": "Talk Talk", + "title": "Such A Shame", + "video_title": "Talk Talk - Such A Shame - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.772587", + "reason": "already_on_server" + }, + "one direction_girl almighty": { + "artist": "One Direction", + "title": "Girl Almighty", + "video_title": "One Direction - Girl Almighty - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.809321", + "reason": "already_on_server" + }, + "one direction_18": { + "artist": "One Direction", + "title": "18", + "video_title": "One Direction - 18 - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.840541", + "reason": "already_on_server" + }, + "one direction_stockholm syndrome": { + "artist": "One Direction", + "title": "Stockholm Syndrome", + "video_title": "One Direction - Stockholm Syndrome - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.877416", + "reason": "already_on_server" + }, + "sam smith_lay me down": { + "artist": "Sam Smith", + "title": "Lay Me Down", + "video_title": "Sam Smith - Lay Me Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.914611", + "reason": "already_on_server" + }, + "eric clapton_bad love": { + "artist": "Eric Clapton", + "title": "Bad Love", + "video_title": "Eric Clapton - Bad Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.960886", + "reason": "already_on_server" + }, + "the doobie brothers_what a fool believes": { + "artist": "The Doobie Brothers", + "title": "What A Fool Believes", + "video_title": "The Doobie Brothers - What A Fool Believes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:22.996084", + "reason": "already_on_server" + }, + "eric clapton_promises": { + "artist": "Eric Clapton", + "title": "Promises", + "video_title": "Eric Clapton - Promises - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.034200", + "reason": "already_on_server" + }, + "jessie j_sweet talker": { + "artist": "Jessie J", + "title": "Sweet Talker", + "video_title": "Jessie J - Sweet Talker - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.066078", + "reason": "already_on_server" + }, + "foreigner_juke box hero": { + "artist": "Foreigner", + "title": "Juke Box Hero", + "video_title": "Foreigner - Juke Box Hero - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.105472", + "reason": "already_on_server" + }, + "jessie j_masterpiece": { + "artist": "Jessie J", + "title": "Masterpiece", + "video_title": "Jessie J - Masterpiece - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.133606", + "reason": "already_on_server" + }, + "the carpenters_can't smile without you": { + "artist": "The Carpenters", + "title": "Can't Smile Without You", + "video_title": "The Carpenters - Can't Smile Without You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.164897", + "reason": "already_on_server" + }, + "klaxons_golden skans": { + "artist": "Klaxons", + "title": "Golden Skans", + "video_title": "Klaxons - Golden Skans - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.199146", + "reason": "already_on_server" + }, + "bing crosby_winter wonderland": { + "artist": "Bing Crosby", + "title": "Winter Wonderland", + "video_title": "Bing Crosby - Winter Wonderland - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.234295", + "reason": "already_on_server" + }, + "nicki minaj_the night is still young": { + "artist": "Nicki Minaj", + "title": "The Night Is Still Young", + "video_title": "Nicki Minaj - The Night Is Still Young - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.272795", + "reason": "already_on_server" + }, + "jennifer hudson_and i am telling you i'm not going": { + "artist": "Jennifer Hudson", + "title": "And I Am Telling You I'm Not Going", + "video_title": "Jennifer Hudson - And I Am Telling You I'm Not Going - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.308114", + "reason": "already_on_server" + }, + "james brown_get up (i feel like being a) sex machine": { + "artist": "James Brown", + "title": "Get Up (I Feel Like Being A) Sex Machine", + "video_title": "James Brown - Get Up (I Feel Like Being A) Sex Machine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.342774", + "reason": "already_on_server" + }, + "the script_man on a wire": { + "artist": "The Script", + "title": "Man On A Wire", + "video_title": "The Script - Man On A Wire - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.381876", + "reason": "already_on_server" + }, + "alan jackson_there goes": { + "artist": "Alan Jackson", + "title": "There Goes", + "video_title": "Alan Jackson - There Goes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.415727", + "reason": "already_on_server" + }, + "bobbie gentry_ode to billie joe": { + "artist": "Bobbie Gentry", + "title": "Ode To Billie Joe", + "video_title": "Bobbie Gentry - Ode To Billie Joe - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.450043", + "reason": "already_on_server" + }, + "kacey musgraves_high time": { + "artist": "Kacey Musgraves", + "title": "High Time", + "video_title": "Kacey Musgraves - High Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.482544", + "reason": "already_on_server" + }, + "john denver_sunshine on my shoulders": { + "artist": "John Denver", + "title": "Sunshine On My Shoulders", + "video_title": "John Denver - Sunshine On My Shoulders - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.516235", + "reason": "already_on_server" + }, + "darius rucker_wagon wheel": { + "artist": "Darius Rucker", + "title": "Wagon Wheel", + "video_title": "Darius Rucker - Wagon Wheel - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.556757", + "reason": "already_on_server" + }, + "rockwell_somebody's watching me": { + "artist": "Rockwell", + "title": "Somebody's Watching Me", + "video_title": "Rockwell - Somebody's Watching Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.601399", + "reason": "already_on_server" + }, + "kris kristofferson_me and bobby mcgee": { + "artist": "Kris Kristofferson", + "title": "Me And Bobby McGee", + "video_title": "Kris Kristofferson - Me And Bobby McGee - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.649483", + "reason": "already_on_server" + }, + "new order_world in motion": { + "artist": "New Order", + "title": "World In Motion", + "video_title": "New Order - World In Motion - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.696566", + "reason": "already_on_server" + }, + "the rolling stones_route 66": { + "artist": "The Rolling Stones", + "title": "Route 66", + "video_title": "The Rolling Stones - Route 66 - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.736770", + "reason": "already_on_server" + }, + "nina simone_feeling good": { + "artist": "Nina Simone", + "title": "Feeling Good", + "video_title": "Nina Simone - Feeling Good - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.776216", + "reason": "already_on_server" + }, + "robyn_dancing on my own": { + "artist": "Robyn", + "title": "Dancing On My Own", + "video_title": "Robyn - Dancing On My Own - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.807988", + "reason": "already_on_server" + }, + "frozen_in summer": { + "artist": "Frozen", + "title": "In Summer", + "video_title": "Frozen - In Summer - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.839303", + "reason": "already_on_server" + }, + "hoyt axton_della and the dealer": { + "artist": "Hoyt Axton", + "title": "Della And The Dealer", + "video_title": "Hoyt Axton - Della And The Dealer - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.875195", + "reason": "already_on_server" + }, + "kacey musgraves_follow your arrow": { + "artist": "Kacey Musgraves", + "title": "Follow Your Arrow", + "video_title": "Kacey Musgraves - Follow Your Arrow - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.909070", + "reason": "already_on_server" + }, + "kacey musgraves_biscuits": { + "artist": "Kacey Musgraves", + "title": "Biscuits", + "video_title": "Kacey Musgraves - Biscuits - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.949366", + "reason": "already_on_server" + }, + "kodaline_all i want": { + "artist": "Kodaline", + "title": "All I Want", + "video_title": "Kodaline - All I Want - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:23.978879", + "reason": "already_on_server" + }, + "wicked_defying gravity": { + "artist": "Wicked", + "title": "Defying Gravity", + "video_title": "Wicked - Defying Gravity - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.011074", + "reason": "already_on_server" + }, + "dorothy moore_misty blue": { + "artist": "Dorothy Moore", + "title": "Misty Blue", + "video_title": "Dorothy Moore - Misty Blue - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.045657", + "reason": "already_on_server" + }, + "jewel_2 become 1": { + "artist": "Jewel", + "title": "2 Become 1", + "video_title": "Jewel - 2 Become 1 - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.080666", + "reason": "already_on_server" + }, + "ava max_who's laughing now": { + "artist": "Ava Max", + "title": "Who's Laughing Now", + "video_title": "Ava Max - Who's Laughing Now - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.113658", + "reason": "already_on_server" + }, + "the cult_she sells sanctuary": { + "artist": "The Cult", + "title": "She Sells Sanctuary", + "video_title": "The Cult - She Sells Sanctuary - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.148025", + "reason": "already_on_server" + }, + "tracy byrd_ten rounds with jose cuervo": { + "artist": "Tracy Byrd", + "title": "Ten Rounds With Jose Cuervo", + "video_title": "Tracy Byrd - Ten Rounds With Jose Cuervo - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.182771", + "reason": "already_on_server" + }, + "west side story_maria": { + "artist": "West Side Story", + "title": "Maria", + "video_title": "West Side Story - Maria - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.218975", + "reason": "already_on_server" + }, + "rick james_super freak": { + "artist": "Rick James", + "title": "Super Freak", + "video_title": "Rick James - Super Freak - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.258040", + "reason": "already_on_server" + }, + "don gibson_sea of heartbreak": { + "artist": "Don Gibson", + "title": "Sea Of Heartbreak", + "video_title": "Don Gibson - Sea Of Heartbreak - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.300833", + "reason": "already_on_server" + }, + "wicked_what is this feeling": { + "artist": "Wicked", + "title": "What Is This Feeling", + "video_title": "Wicked - What Is This Feeling - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.330013", + "reason": "already_on_server" + }, + "jewel_intuition": { + "artist": "Jewel", + "title": "Intuition", + "video_title": "Jewel - Intuition - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.366763", + "reason": "already_on_server" + }, + "james bay_scars": { + "artist": "James Bay", + "title": "Scars", + "video_title": "James Bay - Scars - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.401164", + "reason": "already_on_server" + }, + "the sound of music_sixteen going on seventeen": { + "artist": "The Sound Of Music", + "title": "Sixteen Going On Seventeen", + "video_title": "The Sound Of Music - Sixteen Going On Seventeen - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.440161", + "reason": "already_on_server" + }, + "alan jackson_drive (for daddy gene)": { + "artist": "Alan Jackson", + "title": "Drive (For Daddy Gene)", + "video_title": "Alan Jackson - Drive (For Daddy Gene) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.472808", + "reason": "already_on_server" + }, + "the commitments_try a little tenderness": { + "artist": "The Commitments", + "title": "Try A Little Tenderness", + "video_title": "The Commitments - Try A Little Tenderness - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.507130", + "reason": "already_on_server" + }, + "jason derulo_cheyenne": { + "artist": "Jason Derulo", + "title": "Cheyenne", + "video_title": "Jason Derulo - Cheyenne - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.540433", + "reason": "already_on_server" + }, + "otis redding_i've been loving you too long": { + "artist": "Otis Redding", + "title": "I've Been Loving You Too Long", + "video_title": "Otis Redding - I've Been Loving You Too Long - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.613085", + "reason": "already_on_server" + }, + "leonard cohen_bird on the wire": { + "artist": "Leonard Cohen", + "title": "Bird On The Wire", + "video_title": "Leonard Cohen - Bird On The Wire - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.647441", + "reason": "already_on_server" + }, + "one direction_if i could fly": { + "artist": "One Direction", + "title": "If I Could Fly", + "video_title": "One Direction - If I Could Fly - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.677283", + "reason": "already_on_server" + }, + "the soggy bottom boys_i am a man of constant sorrow": { + "artist": "The Soggy Bottom Boys", + "title": "I Am A Man Of Constant Sorrow", + "video_title": "The Soggy Bottom Boys - I Am A Man Of Constant Sorrow - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.715798", + "reason": "already_on_server" + }, + "leona lewis_thunder": { + "artist": "Leona Lewis", + "title": "Thunder", + "video_title": "Leona Lewis - Thunder - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.757510", + "reason": "already_on_server" + }, + "eruption_one way ticket": { + "artist": "Eruption", + "title": "One Way Ticket", + "video_title": "Eruption - One Way Ticket - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.797862", + "reason": "already_on_server" + }, + "nathan sykes_over and over again": { + "artist": "Nathan Sykes", + "title": "Over And Over Again", + "video_title": "Nathan Sykes - Over And Over Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.838703", + "reason": "already_on_server" + }, + "ed sheeran_afire love": { + "artist": "Ed Sheeran", + "title": "Afire Love", + "video_title": "Ed Sheeran - Afire Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.886030", + "reason": "already_on_server" + }, + "simon and garfunkel_scarborough fair": { + "artist": "Simon And Garfunkel", + "title": "Scarborough Fair", + "video_title": "Simon And Garfunkel - Scarborough Fair - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.930075", + "reason": "already_on_server" + }, + "conrad sewell_remind me": { + "artist": "Conrad Sewell", + "title": "Remind Me", + "video_title": "Conrad Sewell - Remind Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:24.986528", + "reason": "already_on_server" + }, + "kelly clarkson_piece by piece": { + "artist": "Kelly Clarkson", + "title": "Piece By Piece", + "video_title": "Kelly Clarkson - Piece By Piece - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.024421", + "reason": "already_on_server" + }, + "5 seconds of summer_jet black heart": { + "artist": "5 Seconds Of Summer", + "title": "Jet Black Heart", + "video_title": "5 Seconds Of Summer - Jet Black Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.057187", + "reason": "already_on_server" + }, + "electric light orchestra_telephone line": { + "artist": "Electric Light Orchestra", + "title": "Telephone Line", + "video_title": "Electric Light Orchestra - Telephone Line - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.093286", + "reason": "already_on_server" + }, + "tangled_mother knows best": { + "artist": "Tangled", + "title": "Mother Knows Best", + "video_title": "Tangled - Mother Knows Best - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.128832", + "reason": "already_on_server" + }, + "kid rock_first kiss": { + "artist": "Kid Rock", + "title": "First Kiss", + "video_title": "Kid Rock - First Kiss - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.159804", + "reason": "already_on_server" + }, + "aladdin_friend like me": { + "artist": "Aladdin", + "title": "Friend Like Me", + "video_title": "Aladdin - Friend Like Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.193431", + "reason": "already_on_server" + }, + "hercules_go the distance": { + "artist": "Hercules", + "title": "Go The Distance", + "video_title": "Hercules - Go The Distance - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.232992", + "reason": "already_on_server" + }, + "west side story_tonight": { + "artist": "West Side Story", + "title": "Tonight", + "video_title": "West Side Story - Tonight - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.276232", + "reason": "already_on_server" + }, + "the beach boys_kokomo": { + "artist": "The Beach Boys", + "title": "Kokomo", + "video_title": "The Beach Boys - Kokomo - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.321806", + "reason": "already_on_server" + }, + "my fair lady_wouldn't it be loverly": { + "artist": "My Fair Lady", + "title": "Wouldn't It Be Loverly", + "video_title": "My Fair Lady - Wouldn't It Be Loverly - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.360178", + "reason": "already_on_server" + }, + "mulan_reflection": { + "artist": "Mulan", + "title": "Reflection", + "video_title": "Mulan - Reflection - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.392471", + "reason": "already_on_server" + }, + "first aid kit_my silver lining": { + "artist": "First Aid Kit", + "title": "My Silver Lining", + "video_title": "First Aid Kit - My Silver Lining - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.429467", + "reason": "already_on_server" + }, + "the cardigans_my favourite game": { + "artist": "The Cardigans", + "title": "My Favourite Game", + "video_title": "The Cardigans - My Favourite Game - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.471741", + "reason": "already_on_server" + }, + "rihanna_sledgehammer": { + "artist": "Rihanna", + "title": "Sledgehammer", + "video_title": "Rihanna - Sledgehammer - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.505827", + "reason": "already_on_server" + }, + "shola ama_you might need somebody": { + "artist": "Shola Ama", + "title": "You Might Need Somebody", + "video_title": "Shola Ama - You Might Need Somebody - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.544658", + "reason": "already_on_server" + }, + "willy wonka and the chocolate factory_oompa loompa": { + "artist": "Willy Wonka And The Chocolate Factory", + "title": "Oompa Loompa", + "video_title": "Willy Wonka And The Chocolate Factory - Oompa Loompa - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.583176", + "reason": "already_on_server" + }, + "george benson_the greatest love of all": { + "artist": "George Benson", + "title": "The Greatest Love Of All", + "video_title": "George Benson - The Greatest Love Of All - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.634795", + "reason": "already_on_server" + }, + "the commitments_take me to the river": { + "artist": "The Commitments", + "title": "Take Me To The River", + "video_title": "The Commitments - Take Me To The River - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.671383", + "reason": "already_on_server" + }, + "gene kelly_singin' in the rain": { + "artist": "Gene Kelly", + "title": "Singin' In The Rain", + "video_title": "Gene Kelly - Singin' In The Rain - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.704660", + "reason": "already_on_server" + }, + "bruce springsteen_glory days": { + "artist": "Bruce Springsteen", + "title": "Glory Days", + "video_title": "Bruce Springsteen - Glory Days - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.735011", + "reason": "already_on_server" + }, + "olly murs_you don't know love": { + "artist": "Olly Murs", + "title": "You Don't Know Love", + "video_title": "Olly Murs - You Don't Know Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.767728", + "reason": "already_on_server" + }, + "bobby vinton_roses are red (my love)": { + "artist": "Bobby Vinton", + "title": "Roses Are Red (My Love)", + "video_title": "Bobby Vinton - Roses Are Red (My Love) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.803546", + "reason": "already_on_server" + }, + "shirley bassey_i (who have nothing)": { + "artist": "Shirley Bassey", + "title": "I (Who Have Nothing)", + "video_title": "Shirley Bassey - I (Who Have Nothing) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.839694", + "reason": "already_on_server" + }, + "the rolling stones_gimme shelter": { + "artist": "The Rolling Stones", + "title": "Gimme Shelter", + "video_title": "The Rolling Stones - Gimme Shelter - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.876506", + "reason": "already_on_server" + }, + "lou rawls_you'll never find another love like mine": { + "artist": "Lou Rawls", + "title": "You'll Never Find Another Love Like Mine", + "video_title": "Lou Rawls - You'll Never Find Another Love Like Mine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.909067", + "reason": "already_on_server" + }, + "stevie nicks_edge of seventeen": { + "artist": "Stevie Nicks", + "title": "Edge Of Seventeen", + "video_title": "Stevie Nicks - Edge Of Seventeen - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.947844", + "reason": "already_on_server" + }, + "meghan trainor_hopeless romantic": { + "artist": "Meghan Trainor", + "title": "Hopeless Romantic", + "video_title": "Meghan Trainor - Hopeless Romantic - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:25.985061", + "reason": "already_on_server" + }, + "meghan trainor_champagne problems": { + "artist": "Meghan Trainor", + "title": "Champagne Problems", + "video_title": "Meghan Trainor - Champagne Problems - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.035153", + "reason": "already_on_server" + }, + "josh groban_you raise me up": { + "artist": "Josh Groban", + "title": "You Raise Me Up", + "video_title": "Josh Groban - You Raise Me Up - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.072314", + "reason": "already_on_server" + }, + "steel panther_gloryhole": { + "artist": "Steel Panther", + "title": "Gloryhole", + "video_title": "Steel Panther - Gloryhole - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.116207", + "reason": "already_on_server" + }, + "iron maiden_wasted years": { + "artist": "Iron Maiden", + "title": "Wasted Years", + "video_title": "Iron Maiden - Wasted Years - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.169527", + "reason": "already_on_server" + }, + "john legend_love me now": { + "artist": "John Legend", + "title": "Love Me Now", + "video_title": "John Legend - Love Me Now - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.204968", + "reason": "already_on_server" + }, + "olly murs_grow up": { + "artist": "Olly Murs", + "title": "Grow Up", + "video_title": "Olly Murs - Grow Up - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.243650", + "reason": "already_on_server" + }, + "years and years_meteorite": { + "artist": "Years And Years", + "title": "Meteorite", + "video_title": "Years And Years - Meteorite - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.286918", + "reason": "already_on_server" + }, + "sia_big girls cry": { + "artist": "Sia", + "title": "Big Girls Cry", + "video_title": "Sia - Big Girls Cry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.316570", + "reason": "already_on_server" + }, + "debarge_rhythm of the night": { + "artist": "DeBarge", + "title": "Rhythm Of The Night", + "video_title": "DeBarge - Rhythm Of The Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.350054", + "reason": "already_on_server" + }, + "queen_flash": { + "artist": "Queen", + "title": "Flash", + "video_title": "Queen - Flash - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.391101", + "reason": "already_on_server" + }, + "michael buble_take you away": { + "artist": "Michael Buble", + "title": "Take You Away", + "video_title": "Michael Buble - Take You Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.425762", + "reason": "already_on_server" + }, + "ac/dc_shoot to thrill": { + "artist": "AC/DC", + "title": "Shoot To Thrill", + "video_title": "AC/DC - Shoot To Thrill - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.465013", + "reason": "already_on_server" + }, + "mika_lollipop": { + "artist": "Mika", + "title": "Lollipop", + "video_title": "Mika - Lollipop - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.500865", + "reason": "already_on_server" + }, + "pixies_here comes your man": { + "artist": "Pixies", + "title": "Here Comes Your Man", + "video_title": "Pixies - Here Comes Your Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.538451", + "reason": "already_on_server" + }, + "alanis morissette_uninvited": { + "artist": "Alanis Morissette", + "title": "Uninvited", + "video_title": "Alanis Morissette - Uninvited - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.573787", + "reason": "already_on_server" + }, + "dnce_body moves": { + "artist": "DNCE", + "title": "Body Moves", + "video_title": "DNCE - Body Moves - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.609989", + "reason": "already_on_server" + }, + "michael buble_the very thought of you": { + "artist": "Michael Buble", + "title": "The Very Thought Of You", + "video_title": "Michael Buble - The Very Thought Of You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.639632", + "reason": "already_on_server" + }, + "van morrison_into the mystic": { + "artist": "Van Morrison", + "title": "Into The Mystic", + "video_title": "Van Morrison - Into The Mystic - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.677170", + "reason": "already_on_server" + }, + "patrick hernandez_born to be alive": { + "artist": "Patrick Hernandez", + "title": "Born To Be Alive", + "video_title": "Patrick Hernandez - Born To Be Alive - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.707220", + "reason": "already_on_server" + }, + "rag'n'bone man_human": { + "artist": "Rag'n'Bone Man", + "title": "Human", + "video_title": "Rag'n'Bone Man - Human - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.737459", + "reason": "already_on_server" + }, + "jim reeves_i can't stop loving you": { + "artist": "Jim Reeves", + "title": "I Can't Stop Loving You", + "video_title": "Jim Reeves - I Can't Stop Loving You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.776681", + "reason": "already_on_server" + }, + "starley_call on me (ryan riback remix)": { + "artist": "Starley", + "title": "Call On Me (Ryan Riback Remix)", + "video_title": "Starley - Call On Me (Ryan Riback Remix) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.805445", + "reason": "already_on_server" + }, + "bebe rexha_i got you": { + "artist": "Bebe Rexha", + "title": "I Got You", + "video_title": "Bebe Rexha - I Got You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:26.964968", + "reason": "already_on_server" + }, + "michael buble_i wanna be around": { + "artist": "Michael Buble", + "title": "I Wanna Be Around", + "video_title": "Michael Buble - I Wanna Be Around - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.076303", + "reason": "already_on_server" + }, + "the chainsmokers_paris": { + "artist": "The Chainsmokers", + "title": "Paris", + "video_title": "The Chainsmokers - Paris - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.219106", + "reason": "already_on_server" + }, + "the temptations_get ready": { + "artist": "The Temptations", + "title": "Get Ready", + "video_title": "The Temptations - Get Ready - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.335309", + "reason": "already_on_server" + }, + "ed sheeran_bibia be ye ye": { + "artist": "Ed Sheeran", + "title": "Bibia Be Ye Ye", + "video_title": "Ed Sheeran - Bibia Be Ye Ye - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.374307", + "reason": "already_on_server" + }, + "the commitments_chain of fools": { + "artist": "The Commitments", + "title": "Chain Of Fools", + "video_title": "The Commitments - Chain Of Fools - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.408366", + "reason": "already_on_server" + }, + "lukas graham_you're not there": { + "artist": "Lukas Graham", + "title": "You're Not There", + "video_title": "Lukas Graham - You're Not There - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.443409", + "reason": "already_on_server" + }, + "ed sheeran_barcelona": { + "artist": "Ed Sheeran", + "title": "Barcelona", + "video_title": "Ed Sheeran - Barcelona - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.483168", + "reason": "already_on_server" + }, + "lenny kravitz_are you gonna go my way": { + "artist": "Lenny Kravitz", + "title": "Are You Gonna Go My Way", + "video_title": "Lenny Kravitz - Are You Gonna Go My Way- Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.516167", + "reason": "already_on_server" + }, + "the temptations_the way you do the things you do": { + "artist": "The Temptations", + "title": "The Way You Do The Things You Do", + "video_title": "The Temptations - The Way You Do The Things You Do - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.550497", + "reason": "already_on_server" + }, + "the chiffons_one fine day": { + "artist": "The Chiffons", + "title": "One Fine Day", + "video_title": "The Chiffons - One Fine Day - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.584144", + "reason": "already_on_server" + }, + "jack savoretti_written in scars": { + "artist": "Jack Savoretti", + "title": "Written In Scars", + "video_title": "Jack Savoretti - Written In Scars - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.618947", + "reason": "already_on_server" + }, + "the temptations_ain't too proud to beg": { + "artist": "The Temptations", + "title": "Ain't Too Proud To Beg", + "video_title": "The Temptations - Ain't Too Proud To Beg - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.663550", + "reason": "already_on_server" + }, + "onerepublic_let's hurt tonight": { + "artist": "OneRepublic", + "title": "Let's Hurt Tonight", + "video_title": "OneRepublic - Let's Hurt Tonight - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.698430", + "reason": "already_on_server" + }, + "john farnham_burn for you": { + "artist": "John Farnham", + "title": "Burn For You", + "video_title": "John Farnham - Burn For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.735122", + "reason": "already_on_server" + }, + "dear evan hansen_waving through a window": { + "artist": "Dear Evan Hansen", + "title": "Waving Through A Window", + "video_title": "Dear Evan Hansen - Waving Through A Window - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.768739", + "reason": "already_on_server" + }, + "thin lizzy_jailbreak": { + "artist": "Thin Lizzy", + "title": "Jailbreak", + "video_title": "Thin Lizzy - Jailbreak - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.800524", + "reason": "already_on_server" + }, + "thin lizzy_rosalie": { + "artist": "Thin Lizzy", + "title": "Rosalie", + "video_title": "Thin Lizzy - Rosalie - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.834192", + "reason": "already_on_server" + }, + "badfinger_baby blue": { + "artist": "Badfinger", + "title": "Baby Blue", + "video_title": "Badfinger - Baby Blue - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.868038", + "reason": "already_on_server" + }, + "rent_seasons of love": { + "artist": "Rent", + "title": "Seasons Of Love", + "video_title": "Rent - Seasons Of Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.897157", + "reason": "already_on_server" + }, + "andy grammer_honey, i'm good": { + "artist": "Andy Grammer", + "title": "Honey, I'm Good", + "video_title": "Andy Grammer - Honey, I'm Good - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.929458", + "reason": "already_on_server" + }, + "rag'n'bone man_lay my body down": { + "artist": "Rag'n'Bone Man", + "title": "Lay My Body Down", + "video_title": "Rag'n'Bone Man - Lay My Body Down - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:27.965969", + "reason": "already_on_server" + }, + "imelda may_tainted love": { + "artist": "Imelda May", + "title": "Tainted Love", + "video_title": "Imelda May - Tainted Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.001040", + "reason": "already_on_server" + }, + "creedence clearwater revival_who'll stop the rain": { + "artist": "Creedence Clearwater Revival", + "title": "Who'll Stop The Rain", + "video_title": "Creedence Clearwater Revival - Who'll Stop The Rain - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.033492", + "reason": "already_on_server" + }, + "thin lizzy_dancing in the moonlight": { + "artist": "Thin Lizzy", + "title": "Dancing In The Moonlight", + "video_title": "Thin Lizzy - Dancing In The Moonlight - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.069019", + "reason": "already_on_server" + }, + "the carpenters_a song for you": { + "artist": "The Carpenters", + "title": "A Song For You", + "video_title": "The Carpenters - A Song For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.100684", + "reason": "already_on_server" + }, + "warren zevon_werewolves of london": { + "artist": "Warren Zevon", + "title": "Werewolves Of London", + "video_title": "Warren Zevon - Werewolves Of London - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.139737", + "reason": "already_on_server" + }, + "the script_rain": { + "artist": "The Script", + "title": "Rain", + "video_title": "The Script - Rain - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.174743", + "reason": "already_on_server" + }, + "dear evan hansen_for forever": { + "artist": "Dear Evan Hansen", + "title": "For Forever", + "video_title": "Dear Evan Hansen - For Forever - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.207657", + "reason": "already_on_server" + }, + "jp cooper_she's on my mind": { + "artist": "JP Cooper", + "title": "She's On My Mind", + "video_title": "JP Cooper - She's On My Mind - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.246575", + "reason": "already_on_server" + }, + "ed sheeran_happier": { + "artist": "Ed Sheeran", + "title": "Happier", + "video_title": "Ed Sheeran - Happier - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.280181", + "reason": "already_on_server" + }, + "pink_whatever you want": { + "artist": "Pink", + "title": "Whatever You Want", + "video_title": "Pink - Whatever You Want - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.325709", + "reason": "already_on_server" + }, + "camila cabello feat young thug_havana": { + "artist": "Camila Cabello feat Young Thug", + "title": "Havana", + "video_title": "Camila Cabello feat Young Thug - Havana - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.359739", + "reason": "already_on_server" + }, + "tangled_when will my life begin": { + "artist": "Tangled", + "title": "When Will My Life Begin", + "video_title": "Tangled - When Will My Life Begin - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.394219", + "reason": "already_on_server" + }, + "ed sheeran_new man": { + "artist": "Ed Sheeran", + "title": "New Man", + "video_title": "Ed Sheeran - New Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.429685", + "reason": "already_on_server" + }, + "ed sheeran_nancy mulligan": { + "artist": "Ed Sheeran", + "title": "Nancy Mulligan", + "video_title": "Ed Sheeran - Nancy Mulligan - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.466669", + "reason": "already_on_server" + }, + "ed sheeran_save myself": { + "artist": "Ed Sheeran", + "title": "Save Myself", + "video_title": "Ed Sheeran - Save Myself - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.505137", + "reason": "already_on_server" + }, + "ed sheeran_hearts don't break around here": { + "artist": "Ed Sheeran", + "title": "Hearts Don't Break Around Here", + "video_title": "Ed Sheeran - Hearts Don't Break Around Here - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.535936", + "reason": "already_on_server" + }, + "ed sheeran_what do i know": { + "artist": "Ed Sheeran", + "title": "What Do I Know", + "video_title": "Ed Sheeran - What Do I Know - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.574412", + "reason": "already_on_server" + }, + "the greatest showman_never enough": { + "artist": "The Greatest Showman", + "title": "Never Enough", + "video_title": "The Greatest Showman - Never Enough - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.610170", + "reason": "already_on_server" + }, + "liam payne and rita ora_for you": { + "artist": "Liam Payne and Rita Ora", + "title": "For You", + "video_title": "Liam Payne and Rita Ora - For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.655429", + "reason": "already_on_server" + }, + "hoseah partsch_paper planes": { + "artist": "Hoseah Partsch", + "title": "Paper Planes", + "video_title": "Hoseah Partsch - Paper Planes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.683580", + "reason": "already_on_server" + }, + "kendrick lamar and sza_all the stars": { + "artist": "Kendrick Lamar and SZA", + "title": "All The Stars", + "video_title": "Kendrick Lamar and SZA - All The Stars - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.714805", + "reason": "already_on_server" + }, + "the greatest showman_this is me": { + "artist": "The Greatest Showman", + "title": "This Is Me", + "video_title": "The Greatest Showman - This Is Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.744237", + "reason": "already_on_server" + }, + "camila cabello_something's gotta give": { + "artist": "Camila Cabello", + "title": "Something's Gotta Give", + "video_title": "Camila Cabello - Something's Gotta Give - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.777733", + "reason": "already_on_server" + }, + "joan jett and the blackhearts_bad reputation": { + "artist": "Joan Jett And The Blackhearts", + "title": "Bad Reputation", + "video_title": "Joan Jett And The Blackhearts - Bad Reputation - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.810714", + "reason": "already_on_server" + }, + "dionne warwick_i'll never love this way again": { + "artist": "Dionne Warwick", + "title": "I'll Never Love This Way Again", + "video_title": "Dionne Warwick - I'll Never Love This Way Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.848510", + "reason": "already_on_server" + }, + "aladdin_prince ali": { + "artist": "Aladdin", + "title": "Prince Ali", + "video_title": "Aladdin - Prince Ali - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.882780", + "reason": "already_on_server" + }, + "moana_how far i'll go": { + "artist": "Moana", + "title": "How Far I'll Go", + "video_title": "Moana - How Far I'll Go - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.918063", + "reason": "already_on_server" + }, + "maroon 5_wait": { + "artist": "Maroon 5", + "title": "Wait", + "video_title": "Maroon 5 - Wait - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:28.955897", + "reason": "already_on_server" + }, + "halsey_eyes closed": { + "artist": "Halsey", + "title": "Eyes Closed", + "video_title": "Halsey - Eyes Closed - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.001974", + "reason": "already_on_server" + }, + "hairspray_the nicest kids in town": { + "artist": "Hairspray", + "title": "The Nicest Kids In Town", + "video_title": "Hairspray - The Nicest Kids In Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.035781", + "reason": "already_on_server" + }, + "rag'n'bone man_skin": { + "artist": "Rag'n'Bone Man", + "title": "Skin", + "video_title": "Rag'n'Bone Man - Skin - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.066482", + "reason": "already_on_server" + }, + "weezer_say it ain't so": { + "artist": "Weezer", + "title": "Say It Ain't So", + "video_title": "Weezer - Say It Ain't So - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.100498", + "reason": "already_on_server" + }, + "moana_shiny": { + "artist": "Moana", + "title": "Shiny", + "video_title": "Moana - Shiny - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.132866", + "reason": "already_on_server" + }, + "sweet_love is like oxygen": { + "artist": "Sweet", + "title": "Love Is Like Oxygen", + "video_title": "Sweet - Love Is Like Oxygen - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.166976", + "reason": "already_on_server" + }, + "crowded house_better be home soon": { + "artist": "Crowded House", + "title": "Better Be Home Soon", + "video_title": "Crowded House - Better Be Home Soon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.204245", + "reason": "already_on_server" + }, + "the snake oil willie band_i don't look good naked anymore": { + "artist": "The Snake Oil Willie Band", + "title": "I Don't Look Good Naked Anymore", + "video_title": "The Snake Oil Willie Band - I Don't Look Good Naked Anymore - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.238741", + "reason": "already_on_server" + }, + "fiction factory_(feels like) heaven": { + "artist": "Fiction Factory", + "title": "(Feels Like) Heaven", + "video_title": "Fiction Factory - (Feels Like) Heaven - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.276916", + "reason": "already_on_server" + }, + "portugal the man_feel it still": { + "artist": "Portugal The Man", + "title": "Feel It Still", + "video_title": "Portugal The Man - Feel It Still - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.308074", + "reason": "already_on_server" + }, + "the greatest showman_tightrope": { + "artist": "The Greatest Showman", + "title": "Tightrope", + "video_title": "The Greatest Showman - Tightrope - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.346156", + "reason": "already_on_server" + }, + "don williams_amanda": { + "artist": "Don Williams", + "title": "Amanda", + "video_title": "Don Williams - Amanda - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.380282", + "reason": "already_on_server" + }, + "selena gomez_bad liar": { + "artist": "Selena Gomez", + "title": "Bad Liar", + "video_title": "Selena Gomez - Bad Liar - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.409137", + "reason": "already_on_server" + }, + "paloma faith_til i'm done": { + "artist": "Paloma Faith", + "title": "Til I'm Done", + "video_title": "Paloma Faith - Til I'm Done - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.439157", + "reason": "already_on_server" + }, + "liam gallagher_paper crown": { + "artist": "Liam Gallagher", + "title": "Paper Crown", + "video_title": "Liam Gallagher - Paper Crown - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.474494", + "reason": "already_on_server" + }, + "don williams_tulsa time": { + "artist": "Don Williams", + "title": "Tulsa Time", + "video_title": "Don Williams - Tulsa Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.510881", + "reason": "already_on_server" + }, + "don williams_some broken hearts never mend": { + "artist": "Don Williams", + "title": "Some Broken Hearts Never Mend", + "video_title": "Don Williams - Some Broken Hearts Never Mend - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.544107", + "reason": "already_on_server" + }, + "taylor swift_delicate": { + "artist": "Taylor Swift", + "title": "Delicate", + "video_title": "Taylor Swift - Delicate - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.577586", + "reason": "already_on_server" + }, + "niall horan_on the loose": { + "artist": "Niall Horan", + "title": "On The Loose", + "video_title": "Niall Horan - On The Loose - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.612630", + "reason": "already_on_server" + }, + "niall horan_flicker": { + "artist": "Niall Horan", + "title": "Flicker", + "video_title": "Niall Horan - Flicker - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.659848", + "reason": "already_on_server" + }, + "elbow_golden slumbers": { + "artist": "Elbow", + "title": "Golden Slumbers", + "video_title": "Elbow - Golden Slumbers - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.690374", + "reason": "already_on_server" + }, + "dusty springfield_spooky": { + "artist": "Dusty Springfield", + "title": "Spooky", + "video_title": "Dusty Springfield - Spooky - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.738613", + "reason": "already_on_server" + }, + "kenny rogers_daytime friends": { + "artist": "Kenny Rogers", + "title": "Daytime Friends", + "video_title": "Kenny Rogers - Daytime Friends - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.777675", + "reason": "already_on_server" + }, + "the cranberries_just my imagination": { + "artist": "The Cranberries", + "title": "Just My Imagination", + "video_title": "The Cranberries - Just My Imagination - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.815565", + "reason": "already_on_server" + }, + "maroon 5_nobody's love": { + "artist": "Maroon 5", + "title": "Nobody's Love", + "video_title": "Maroon 5 - Nobody's Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.848534", + "reason": "already_on_server" + }, + "little mix_holiday": { + "artist": "Little Mix", + "title": "Holiday", + "video_title": "Little Mix - Holiday - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.885110", + "reason": "already_on_server" + }, + "the greatest showman_come alive": { + "artist": "The Greatest Showman", + "title": "Come Alive", + "video_title": "The Greatest Showman - Come Alive - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.923410", + "reason": "already_on_server" + }, + "the greatest showman_rewrite the stars": { + "artist": "The Greatest Showman", + "title": "Rewrite The Stars", + "video_title": "The Greatest Showman - Rewrite The Stars - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.955773", + "reason": "already_on_server" + }, + "enchanted_happy working song": { + "artist": "Enchanted", + "title": "Happy Working Song", + "video_title": "Enchanted - Happy Working Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:29.995948", + "reason": "already_on_server" + }, + "jason derulo_colours": { + "artist": "Jason Derulo", + "title": "Colours", + "video_title": "Jason Derulo - Colours - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.033738", + "reason": "already_on_server" + }, + "leon bridges_coming home": { + "artist": "Leon Bridges", + "title": "Coming Home", + "video_title": "Leon Bridges - Coming Home - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.068990", + "reason": "already_on_server" + }, + "demi lovato_sober": { + "artist": "Demi Lovato", + "title": "Sober", + "video_title": "Demi Lovato - Sober - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.114479", + "reason": "already_on_server" + }, + "jim croce_operator (that's not the way it feels)": { + "artist": "Jim Croce", + "title": "Operator (That's Not The Way It Feels)", + "video_title": "Jim Croce - Operator (That's Not The Way It Feels) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.148772", + "reason": "already_on_server" + }, + "ella fitzgerald_blue moon": { + "artist": "Ella Fitzgerald", + "title": "Blue Moon", + "video_title": "Ella Fitzgerald - Blue Moon - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.181531", + "reason": "already_on_server" + }, + "twenty one pilots_jumpsuit": { + "artist": "Twenty One Pilots", + "title": "Jumpsuit", + "video_title": "Twenty One Pilots - Jumpsuit - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.219991", + "reason": "already_on_server" + }, + "bad wolves_zombie": { + "artist": "Bad Wolves", + "title": "Zombie", + "video_title": "Bad Wolves - Zombie - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.261186", + "reason": "already_on_server" + }, + "mĆø_final song": { + "artist": "MƘ", + "title": "Final Song", + "video_title": "MƘ - Final Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.302038", + "reason": "already_on_server" + }, + "marina and the diamonds_how to be a heartbreaker": { + "artist": "Marina And The Diamonds", + "title": "How To Be A Heartbreaker", + "video_title": "Marina And The Diamonds - How To Be A Heartbreaker - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.349557", + "reason": "already_on_server" + }, + "anne marie_2002": { + "artist": "Anne Marie", + "title": "2002", + "video_title": "Anne Marie - 2002 - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.384682", + "reason": "already_on_server" + }, + "jim croce_you don't mess around with jim": { + "artist": "Jim Croce", + "title": "You Don't Mess Around With Jim", + "video_title": "Jim Croce - You Don't Mess Around With Jim - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.417844", + "reason": "already_on_server" + }, + "pinkfong_baby shark": { + "artist": "Pinkfong", + "title": "Baby Shark", + "video_title": "Pinkfong - Baby Shark - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.452910", + "reason": "already_on_server" + }, + "everybody's talking about jamie_the wall in my head": { + "artist": "Everybody's Talking About Jamie", + "title": "The Wall In My Head", + "video_title": "Everybody's Talking About Jamie - The Wall In My Head - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.491893", + "reason": "already_on_server" + }, + "fifth harmony_don't say you love me": { + "artist": "Fifth Harmony", + "title": "Don't Say You Love Me", + "video_title": "Fifth Harmony - Don't Say You Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.522921", + "reason": "already_on_server" + }, + "selena gomez_back to you": { + "artist": "Selena Gomez", + "title": "Back To You", + "video_title": "Selena Gomez - Back To You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.557552", + "reason": "already_on_server" + }, + "waylon jennings_i've always been crazy": { + "artist": "Waylon Jennings", + "title": "I've Always Been Crazy", + "video_title": "Waylon Jennings - I've Always Been Crazy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.592469", + "reason": "already_on_server" + }, + "dear evan hansen_so big so small": { + "artist": "Dear Evan Hansen", + "title": "So Big So Small", + "video_title": "Dear Evan Hansen - So Big So Small - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.632447", + "reason": "already_on_server" + }, + "calum scott_what i miss most": { + "artist": "Calum Scott", + "title": "What I Miss Most", + "video_title": "Calum Scott - What I Miss Most - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.672757", + "reason": "already_on_server" + }, + "lady gaga_is that alright": { + "artist": "Lady Gaga", + "title": "Is That Alright", + "video_title": "Lady Gaga - Is That Alright - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.707893", + "reason": "already_on_server" + }, + "mary poppins_a spoonful of sugar": { + "artist": "Mary Poppins", + "title": "A Spoonful of Sugar", + "video_title": "Mary Poppins - A Spoonful of Sugar - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.748228", + "reason": "already_on_server" + }, + "lady gaga_always remember us this way": { + "artist": "Lady Gaga", + "title": "Always Remember Us This Way", + "video_title": "Lady Gaga - Always Remember Us This Way - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.792771", + "reason": "already_on_server" + }, + "rita ora_let you love me": { + "artist": "Rita Ora", + "title": "Let You Love Me", + "video_title": "Rita Ora - Let You Love Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.826697", + "reason": "already_on_server" + }, + "ella fitzgerald_i love paris": { + "artist": "Ella Fitzgerald", + "title": "I Love Paris", + "video_title": "Ella Fitzgerald - I Love Paris - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.862490", + "reason": "already_on_server" + }, + "pink_a million dreams": { + "artist": "Pink", + "title": "A Million Dreams", + "video_title": "Pink - A Million Dreams - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.890216", + "reason": "already_on_server" + }, + "ella fitzgerald_my funny valentine": { + "artist": "Ella Fitzgerald", + "title": "My Funny Valentine", + "video_title": "Ella Fitzgerald - My Funny Valentine - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.940542", + "reason": "already_on_server" + }, + "calum scott_no matter what": { + "artist": "Calum Scott", + "title": "No Matter What", + "video_title": "Calum Scott - No Matter What - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:30.995043", + "reason": "already_on_server" + }, + "dua lipa_swan song": { + "artist": "Dua Lipa", + "title": "Swan Song", + "video_title": "Dua Lipa - Swan Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.038054", + "reason": "already_on_server" + }, + "the cure_a forest": { + "artist": "The Cure", + "title": "A Forest", + "video_title": "The Cure - A Forest - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.080244", + "reason": "already_on_server" + }, + "cliff richard_dreamin'": { + "artist": "Cliff Richard", + "title": "Dreamin'", + "video_title": "Cliff Richard - Dreamin' - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.119403", + "reason": "already_on_server" + }, + "engelbert humperdinck_love me with all your heart": { + "artist": "Engelbert Humperdinck", + "title": "Love Me With All Your Heart", + "video_title": "Engelbert Humperdinck - Love Me With All Your Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.159304", + "reason": "already_on_server" + }, + "alice merton_lash out": { + "artist": "Alice Merton", + "title": "Lash Out", + "video_title": "Alice Merton - Lash Out - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.198923", + "reason": "already_on_server" + }, + "dani and lizzy_dancing in the sky": { + "artist": "Dani and Lizzy", + "title": "Dancing In The Sky", + "video_title": "Dani and Lizzy - Dancing In The Sky - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.234040", + "reason": "already_on_server" + }, + "richard marx_hold on to the nights": { + "artist": "Richard Marx", + "title": "Hold On To The Nights", + "video_title": "Richard Marx - Hold On To The Nights - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.279331", + "reason": "already_on_server" + }, + "the platters_my prayer": { + "artist": "The Platters", + "title": "My Prayer", + "video_title": "The Platters - My Prayer - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.305529", + "reason": "already_on_server" + }, + "the platters_the great pretender": { + "artist": "The Platters", + "title": "The Great Pretender", + "video_title": "The Platters - The Great Pretender - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.343577", + "reason": "already_on_server" + }, + "the platters_twilight time": { + "artist": "The Platters", + "title": "Twilight Time", + "video_title": "The Platters - Twilight Time - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.376222", + "reason": "already_on_server" + }, + "ella fitzgerald_someone to watch over me": { + "artist": "Ella Fitzgerald", + "title": "Someone To Watch Over Me", + "video_title": "Ella Fitzgerald - Someone To Watch Over Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.415493", + "reason": "already_on_server" + }, + "john denver_i'm sorry": { + "artist": "John Denver", + "title": "I'm Sorry", + "video_title": "John Denver - I'm Sorry - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.449728", + "reason": "already_on_server" + }, + "ella fitzgerald_the man i love": { + "artist": "Ella Fitzgerald", + "title": "The Man I Love", + "video_title": "Ella Fitzgerald - The Man I Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.483588", + "reason": "already_on_server" + }, + "kodaline_high hopes": { + "artist": "Kodaline", + "title": "High Hopes", + "video_title": "Kodaline - High Hopes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.531509", + "reason": "already_on_server" + }, + "jess glynne_i'll be there": { + "artist": "Jess Glynne", + "title": "I'll Be There", + "video_title": "Jess Glynne - I'll Be There - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.572728", + "reason": "already_on_server" + }, + "neil young_four strong winds": { + "artist": "Neil Young", + "title": "Four Strong Winds", + "video_title": "Neil Young - Four Strong Winds - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.608512", + "reason": "already_on_server" + }, + "evelyn thomas_high energy": { + "artist": "Evelyn Thomas", + "title": "High Energy", + "video_title": "Evelyn Thomas - High Energy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.640928", + "reason": "already_on_server" + }, + "descendants 3_queen of mean": { + "artist": "Descendants 3", + "title": "Queen Of Mean", + "video_title": "Descendants 3 - Queen Of Mean - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.684929", + "reason": "already_on_server" + }, + "camila cabello_shameless": { + "artist": "Camila Cabello", + "title": "Shameless", + "video_title": "Camila Cabello - Shameless - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.719098", + "reason": "already_on_server" + }, + "ava max_torn": { + "artist": "Ava Max", + "title": "Torn", + "video_title": "Ava Max - Torn - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.751306", + "reason": "already_on_server" + }, + "taylor swift_paper rings": { + "artist": "Taylor Swift", + "title": "Paper Rings", + "video_title": "Taylor Swift - Paper Rings - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.788777", + "reason": "already_on_server" + }, + "chris stapleton_fire away": { + "artist": "Chris Stapleton", + "title": "Fire Away", + "video_title": "Chris Stapleton - Fire Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.820557", + "reason": "already_on_server" + }, + "miley cyrus_slide away": { + "artist": "Miley Cyrus", + "title": "Slide Away", + "video_title": "Miley Cyrus - Slide Away - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.857530", + "reason": "already_on_server" + }, + "taylor swift_the archer": { + "artist": "Taylor Swift", + "title": "The Archer", + "video_title": "Taylor Swift - The Archer - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.899821", + "reason": "already_on_server" + }, + "lewis capaldi_bruises": { + "artist": "Lewis Capaldi", + "title": "Bruises", + "video_title": "Lewis Capaldi - Bruises - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.941184", + "reason": "already_on_server" + }, + "chris stapleton_traveller": { + "artist": "Chris Stapleton", + "title": "Traveller", + "video_title": "Chris Stapleton - Traveller - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:31.976771", + "reason": "already_on_server" + }, + "jonas brothers_what a man gotta do": { + "artist": "Jonas Brothers", + "title": "What A Man Gotta Do", + "video_title": "Jonas Brothers - What A Man Gotta Do - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.016794", + "reason": "already_on_server" + }, + "the feeling_love it when you call": { + "artist": "The Feeling", + "title": "Love It When You Call", + "video_title": "The Feeling - Love It When You Call - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.050000", + "reason": "already_on_server" + }, + "sara bareilles_gravity": { + "artist": "Sara Bareilles", + "title": "Gravity", + "video_title": "Sara Bareilles - Gravity - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.084850", + "reason": "already_on_server" + }, + "bebe rexha_you can't stop the girl": { + "artist": "Bebe Rexha", + "title": "You Can't Stop The Girl", + "video_title": "Bebe Rexha - You Can't Stop The Girl - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.111144", + "reason": "already_on_server" + }, + "frozen 2_show yourself": { + "artist": "Frozen 2", + "title": "Show Yourself", + "video_title": "Frozen 2 - Show Yourself - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.145079", + "reason": "already_on_server" + }, + "kacey musgraves_all is found": { + "artist": "Kacey Musgraves", + "title": "All Is Found", + "video_title": "Kacey Musgraves - All Is Found - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.182278", + "reason": "already_on_server" + }, + "harry styles_adore you": { + "artist": "Harry Styles", + "title": "Adore You", + "video_title": "Harry Styles - Adore You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.216670", + "reason": "already_on_server" + }, + "justin bieber_yummy": { + "artist": "Justin Bieber", + "title": "Yummy", + "video_title": "Justin Bieber - Yummy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.257982", + "reason": "already_on_server" + }, + "celeste_strange": { + "artist": "Celeste", + "title": "Strange", + "video_title": "Celeste - Strange - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.303560", + "reason": "already_on_server" + }, + "dua lipa_hallucinate": { + "artist": "Dua Lipa", + "title": "Hallucinate", + "video_title": "Dua Lipa - Hallucinate - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.355162", + "reason": "already_on_server" + }, + "camila cabello_living proof": { + "artist": "Camila Cabello", + "title": "Living Proof", + "video_title": "Camila Cabello - Living Proof - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.387882", + "reason": "already_on_server" + }, + "halsey_you should be sad": { + "artist": "Halsey", + "title": "You Should Be Sad", + "video_title": "Halsey - You Should Be Sad - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.425003", + "reason": "already_on_server" + }, + "edwin starr_war": { + "artist": "Edwin Starr", + "title": "War", + "video_title": "Edwin Starr - War - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.460041", + "reason": "already_on_server" + }, + "halsey_still learning": { + "artist": "Halsey", + "title": "Still Learning", + "video_title": "Halsey - Still Learning - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.492306", + "reason": "already_on_server" + }, + "roberta flack_killing me softly with his song": { + "artist": "Roberta Flack", + "title": "Killing Me Softly With His Song", + "video_title": "Roberta Flack - Killing Me Softly With His Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.529967", + "reason": "already_on_server" + }, + "lady gaga_stupid love": { + "artist": "Lady Gaga", + "title": "Stupid Love", + "video_title": "Lady Gaga - Stupid Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.563831", + "reason": "already_on_server" + }, + "katy perry_never worn white": { + "artist": "Katy Perry", + "title": "Never Worn White", + "video_title": "Katy Perry - Never Worn White - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.594258", + "reason": "already_on_server" + }, + "dua lipa_physical": { + "artist": "Dua Lipa", + "title": "Physical", + "video_title": "Dua Lipa - Physical - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.631699", + "reason": "already_on_server" + }, + "harry styles_falling": { + "artist": "Harry Styles", + "title": "Falling", + "video_title": "Harry Styles - Falling - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.668249", + "reason": "already_on_server" + }, + "doja cat_say so": { + "artist": "Doja Cat", + "title": "Say So", + "video_title": "Doja Cat - Say So - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.702511", + "reason": "already_on_server" + }, + "tom grennan_this is the place": { + "artist": "Tom Grennan", + "title": "This Is The Place", + "video_title": "Tom Grennan - This Is The Place - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.735520", + "reason": "already_on_server" + }, + "the weeknd_in your eyes": { + "artist": "The Weeknd", + "title": "In Your Eyes", + "video_title": "The Weeknd - In Your Eyes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.783697", + "reason": "already_on_server" + }, + "taylor swift_the man": { + "artist": "Taylor Swift", + "title": "The Man", + "video_title": "Taylor Swift - The Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.816359", + "reason": "already_on_server" + }, + "dua lipa_break my heart": { + "artist": "Dua Lipa", + "title": "Break My Heart", + "video_title": "Dua Lipa - Break My Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.848520", + "reason": "already_on_server" + }, + "kacey musgraves_rainbow": { + "artist": "Kacey Musgraves", + "title": "Rainbow", + "video_title": "Kacey Musgraves - Rainbow - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.884468", + "reason": "already_on_server" + }, + "little mix_break up song": { + "artist": "Little Mix", + "title": "Break Up Song", + "video_title": "Little Mix - Break Up Song - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.921793", + "reason": "already_on_server" + }, + "katy perry_daisies": { + "artist": "Katy Perry", + "title": "Daisies", + "video_title": "Katy Perry - Daisies - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:32.960545", + "reason": "already_on_server" + }, + "lady gaga & ariana grande_rain on me": { + "artist": "Lady Gaga & Ariana Grande", + "title": "Rain On Me", + "video_title": "Lady Gaga & Ariana Grande - Rain On Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.006944", + "reason": "already_on_server" + }, + "brandi carlile_the story": { + "artist": "Brandi Carlile", + "title": "The Story", + "video_title": "Brandi Carlile - The Story - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.041381", + "reason": "already_on_server" + }, + "sam fischer_this city": { + "artist": "Sam Fischer", + "title": "This City", + "video_title": "Sam Fischer - This City - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.077204", + "reason": "already_on_server" + }, + "descendants 3_do what you gotta do": { + "artist": "Descendants 3", + "title": "Do What You Gotta Do", + "video_title": "Descendants 3 - Do What You Gotta Do - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.119291", + "reason": "already_on_server" + }, + "tom walker_wait for you": { + "artist": "Tom Walker", + "title": "Wait For You", + "video_title": "Tom Walker - Wait For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.166412", + "reason": "already_on_server" + }, + "dixie d'amelio_be happy": { + "artist": "Dixie D'Amelio", + "title": "Be Happy", + "video_title": "Dixie D'Amelio - Be Happy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.201599", + "reason": "already_on_server" + }, + "the cranberries_ode to my family": { + "artist": "The Cranberries", + "title": "Ode To My Family", + "video_title": "The Cranberries - Ode To My Family - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:31:33.266821", + "reason": "already_on_server" + }, + "nate smith_whiskey on you": { + "artist": "Nate Smith", + "title": "Whiskey On You", + "video_title": "Nate Smith - Whiskey On You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.706547", + "reason": "already_on_server" + }, + "gracie abrams_that's so true": { + "artist": "Gracie Abrams", + "title": "That's So True", + "video_title": "Gracie Abrams - That's So True - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.745897", + "reason": "already_on_server" + }, + "morgan wallen_love somebody": { + "artist": "Morgan Wallen", + "title": "Love Somebody", + "video_title": "Morgan Wallen - Love Somebody - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.782600", + "reason": "already_on_server" + }, + "the neighbourhood_sweater weather": { + "artist": "The Neighbourhood", + "title": "Sweater Weather", + "video_title": "The Neighbourhood - Sweater Weather - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.832151", + "reason": "already_on_server" + }, + "sabrina carpenter_taste": { + "artist": "Sabrina Carpenter", + "title": "Taste", + "video_title": "Sabrina Carpenter - Taste - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.903419", + "reason": "already_on_server" + }, + "lady gaga & bruno mars_die with a smile": { + "artist": "Lady Gaga & Bruno Mars", + "title": "Die With A Smile", + "video_title": "Lady Gaga & Bruno Mars - Die With A Smile - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.953366", + "reason": "already_on_server" + }, + "sabrina carpenter_please please please": { + "artist": "Sabrina Carpenter", + "title": "Please Please Please", + "video_title": "Sabrina Carpenter - Please Please Please - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:46.991654", + "reason": "already_on_server" + }, + "eminem_houdini": { + "artist": "Eminem", + "title": "Houdini", + "video_title": "Eminem - Houdini - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.037737", + "reason": "already_on_server" + }, + "chappell roan_good luck, babe!": { + "artist": "Chappell Roan", + "title": "Good Luck, Babe!", + "video_title": "Chappell Roan - Good Luck, Babe! - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.074881", + "reason": "already_on_server" + }, + "luke combs_the kind of love we make": { + "artist": "Luke Combs", + "title": "The Kind Of Love We Make", + "video_title": "Luke Combs - The Kind Of Love We Make - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.108174", + "reason": "already_on_server" + }, + "hozier_too sweet": { + "artist": "Hozier", + "title": "Too Sweet", + "video_title": "Hozier - Too Sweet - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.149947", + "reason": "already_on_server" + }, + "djo_end of beginning": { + "artist": "Djo", + "title": "End Of Beginning", + "video_title": "Djo - End Of Beginning - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.191786", + "reason": "already_on_server" + }, + "benson boone_beautiful things": { + "artist": "Benson Boone", + "title": "Beautiful Things", + "video_title": "Benson Boone - Beautiful Things - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.236161", + "reason": "already_on_server" + }, + "morgan wallen_thought you should know": { + "artist": "Morgan Wallen", + "title": "Thought You Should Know", + "video_title": "Morgan Wallen - Thought You Should Know - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.274581", + "reason": "already_on_server" + }, + "luke combs_ain't no love in oklahoma": { + "artist": "Luke Combs", + "title": "Ain't No Love In Oklahoma", + "video_title": "Luke Combs - Ain't No Love In Oklahoma - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.314278", + "reason": "already_on_server" + }, + "sabrina carpenter_espresso": { + "artist": "Sabrina Carpenter", + "title": "Espresso", + "video_title": "Sabrina Carpenter - Espresso - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.350813", + "reason": "already_on_server" + }, + "old dominion_one man band": { + "artist": "Old Dominion", + "title": "One Man Band", + "video_title": "Old Dominion - One Man Band - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.390769", + "reason": "already_on_server" + }, + "shaboozey_a bar song (tipsy)": { + "artist": "Shaboozey", + "title": "A Bar Song (Tipsy)", + "video_title": "Shaboozey - A Bar Song (Tipsy) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.421702", + "reason": "already_on_server" + }, + "george strait_check yes or no": { + "artist": "George Strait", + "title": "Check Yes Or No", + "video_title": "George Strait - Check Yes Or No - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.466619", + "reason": "already_on_server" + }, + "noah kahan_stick season": { + "artist": "Noah Kahan", + "title": "Stick Season", + "video_title": "Noah Kahan - Stick Season - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.510514", + "reason": "already_on_server" + }, + "tracy byrd_drinkin' bone": { + "artist": "Tracy Byrd", + "title": "Drinkin' Bone", + "video_title": "Tracy Byrd - Drinkin' Bone - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.564999", + "reason": "already_on_server" + }, + "ariana grande_we can't be friends (wait for your love)": { + "artist": "Ariana Grande", + "title": "We Can't Be Friends (Wait For Your Love)", + "video_title": "Ariana Grande - We Can't Be Friends (Wait For Your Love) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.609262", + "reason": "already_on_server" + }, + "luke combs_fast car": { + "artist": "Luke Combs", + "title": "Fast Car", + "video_title": "Luke Combs - Fast Car - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.663226", + "reason": "already_on_server" + }, + "beyonce_texas hold 'em": { + "artist": "Beyonce", + "title": "Texas Hold 'Em", + "video_title": "Beyonce - Texas Hold 'Em - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.698456", + "reason": "already_on_server" + }, + "stephen sanchez_until i found you": { + "artist": "Stephen Sanchez", + "title": "Until I Found You", + "video_title": "Stephen Sanchez - Until I Found You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.738901", + "reason": "already_on_server" + }, + "olivia rodrigo_vampire": { + "artist": "Olivia Rodrigo", + "title": "Vampire", + "video_title": "Olivia Rodrigo - Vampire - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.805610", + "reason": "already_on_server" + }, + "miley cyrus_used to be young": { + "artist": "Miley Cyrus", + "title": "Used To Be Young", + "video_title": "Miley Cyrus - Used To Be Young - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.849255", + "reason": "already_on_server" + }, + "luke combs_when it rains it pours": { + "artist": "Luke Combs", + "title": "When It Rains It Pours", + "video_title": "Luke Combs - When It Rains It Pours - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.888317", + "reason": "already_on_server" + }, + "dua lipa_dance the night": { + "artist": "Dua Lipa", + "title": "Dance The Night", + "video_title": "Dua Lipa - Dance The Night - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:47.954902", + "reason": "already_on_server" + }, + "the weeknd_die for you": { + "artist": "The Weeknd", + "title": "Die For You", + "video_title": "The Weeknd - Die For You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.020275", + "reason": "already_on_server" + }, + "doja cat_paint the town red": { + "artist": "Doja Cat", + "title": "Paint The Town Red", + "video_title": "Doja Cat - Paint The Town Red - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.072792", + "reason": "already_on_server" + }, + "beyonce_cuff it": { + "artist": "Beyonce", + "title": "Cuff It", + "video_title": "Beyonce - Cuff It - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.112236", + "reason": "already_on_server" + }, + "miley cyrus_flowers": { + "artist": "Miley Cyrus", + "title": "Flowers", + "video_title": "Miley Cyrus - Flowers - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.151460", + "reason": "already_on_server" + }, + "jvke_golden hour": { + "artist": "JVKE", + "title": "Golden Hour", + "video_title": "JVKE - Golden Hour - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.189329", + "reason": "already_on_server" + }, + "coi leray_players": { + "artist": "Coi Leray", + "title": "Players", + "video_title": "Coi Leray - Players - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.226801", + "reason": "already_on_server" + }, + "steve lacy_bad habit": { + "artist": "Steve Lacy", + "title": "Bad Habit", + "video_title": "Steve Lacy - Bad Habit - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.284060", + "reason": "already_on_server" + }, + "carly simon_anticipation": { + "artist": "Carly Simon", + "title": "Anticipation", + "video_title": "Carly Simon - Anticipation - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.377169", + "reason": "already_on_server" + }, + "harry styles_as it was": { + "artist": "Harry Styles", + "title": "As It Was", + "video_title": "Harry Styles - As It Was - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.425219", + "reason": "already_on_server" + }, + "zac brown band_same boat": { + "artist": "Zac Brown Band", + "title": "Same Boat", + "video_title": "Zac Brown Band - Same Boat - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.467887", + "reason": "already_on_server" + }, + "justin bieber_ghost": { + "artist": "Justin Bieber", + "title": "Ghost", + "video_title": "Justin Bieber - Ghost - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.529931", + "reason": "already_on_server" + }, + "olivia rodrigo_traitor": { + "artist": "Olivia Rodrigo", + "title": "Traitor", + "video_title": "Olivia Rodrigo - Traitor - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.599506", + "reason": "already_on_server" + }, + "olivia rodrigo_good 4 u": { + "artist": "Olivia Rodrigo", + "title": "Good 4 U", + "video_title": "Olivia Rodrigo - Good 4 U - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.705149", + "reason": "already_on_server" + }, + "jewel_standing still": { + "artist": "Jewel", + "title": "Standing Still", + "video_title": "Jewel - Standing Still - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.758791", + "reason": "already_on_server" + }, + "rod stewart_forever young": { + "artist": "Rod Stewart", + "title": "Forever Young", + "video_title": "Rod Stewart - Forever Young - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.828247", + "reason": "already_on_server" + }, + "alphaville_forever young": { + "artist": "Alphaville", + "title": "Forever Young", + "video_title": "Alphaville - Forever Young - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.876590", + "reason": "already_on_server" + }, + "bobby brown_my prerogative": { + "artist": "Bobby Brown", + "title": "My Prerogative", + "video_title": "Bobby Brown - My Prerogative - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:48.929961", + "reason": "already_on_server" + }, + "meat loaf_you took the words right out of my mouth": { + "artist": "Meat Loaf", + "title": "You Took The Words Right Out Of My Mouth", + "video_title": "Meat Loaf - You Took The Words Right Out Of My Mouth - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.016619", + "reason": "already_on_server" + }, + "the three degrees_when will i see you again": { + "artist": "The Three Degrees", + "title": "When Will I See You Again", + "video_title": "The Three Degrees - When Will I See You Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.107664", + "reason": "already_on_server" + }, + "village people_y.m.c.a.": { + "artist": "Village People", + "title": "Y.M.C.A.", + "video_title": "Village People - Y.M.C.A. - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.206678", + "reason": "already_on_server" + }, + "james blunt_you're beautiful": { + "artist": "James Blunt", + "title": "You're Beautiful", + "video_title": "James Blunt - You're Beautiful - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.268568", + "reason": "already_on_server" + }, + "gretchen wilson_when i think about cheatin'": { + "artist": "Gretchen Wilson", + "title": "When I Think About Cheatin'", + "video_title": "Gretchen Wilson - When I Think About Cheatin' - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.309829", + "reason": "already_on_server" + }, + "tim mcgraw_watch the wind blow by": { + "artist": "Tim McGraw", + "title": "Watch The Wind Blow By", + "video_title": "Tim McGraw - Watch The Wind Blow By - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.366127", + "reason": "already_on_server" + }, + "the monkees_(i'm not your) steppin' stone": { + "artist": "The Monkees", + "title": "(I'm Not Your) Steppin' Stone", + "video_title": "The Monkees - (I'm Not Your) Steppin' Stone - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.468800", + "reason": "already_on_server" + }, + "billy joel_and so it goes": { + "artist": "Billy Joel", + "title": "And So It Goes", + "video_title": "Billy Joel - And So It Goes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.509793", + "reason": "already_on_server" + }, + "billy joel_she's got a way": { + "artist": "Billy Joel", + "title": "She's Got A Way", + "video_title": "Billy Joel - She's Got A Way - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.550609", + "reason": "already_on_server" + }, + "the who_squeeze box": { + "artist": "The Who", + "title": "Squeeze Box", + "video_title": "The Who - Squeeze Box - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.616086", + "reason": "already_on_server" + }, + "ac/dc_shot in the dark": { + "artist": "AC/DC", + "title": "Shot In The Dark", + "video_title": "AC/DC - Shot In The Dark - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.709582", + "reason": "already_on_server" + }, + "elvis presley_i got stung": { + "artist": "Elvis Presley", + "title": "I Got Stung", + "video_title": "Elvis Presley - I Got Stung - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.835452", + "reason": "already_on_server" + }, + "joe jackson_steppin' out": { + "artist": "Joe Jackson", + "title": "Steppin' Out", + "video_title": "Joe Jackson - Steppin' Out - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.901262", + "reason": "already_on_server" + }, + "the steve miller band_the joker": { + "artist": "The Steve Miller Band", + "title": "The Joker", + "video_title": "The Steve Miller Band - The Joker - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:49.957012", + "reason": "already_on_server" + }, + "engelbert humperdinck_am i that easy to forget": { + "artist": "Engelbert Humperdinck", + "title": "Am I That Easy To Forget", + "video_title": "Engelbert Humperdinck - Am I That Easy To Forget - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.074369", + "reason": "already_on_server" + }, + "adam ant_goody two shoes": { + "artist": "Adam Ant", + "title": "Goody Two Shoes", + "video_title": "Adam Ant - Goody Two Shoes - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.153545", + "reason": "already_on_server" + }, + "stray cats_rock this town": { + "artist": "Stray Cats", + "title": "Rock This Town", + "video_title": "Stray Cats - Rock This Town - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.223221", + "reason": "already_on_server" + }, + "pink_get the party started": { + "artist": "Pink", + "title": "Get The Party Started", + "video_title": "Pink - Get The Party Started - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.352499", + "reason": "already_on_server" + }, + "the black eyed peas_the time (dirty bit)": { + "artist": "The Black Eyed Peas", + "title": "The Time (Dirty Bit)", + "video_title": "The Black Eyed Peas - The Time (Dirty Bit) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.405648", + "reason": "already_on_server" + }, + "ingrid michaelson_the way i am": { + "artist": "Ingrid Michaelson", + "title": "The Way I Am", + "video_title": "Ingrid Michaelson - The Way I Am - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.478415", + "reason": "already_on_server" + }, + "ac/dc_thunderstruck": { + "artist": "AC/DC", + "title": "Thunderstruck", + "video_title": "AC/DC - Thunderstruck - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.574069", + "reason": "already_on_server" + }, + "lulu_to sir with love": { + "artist": "Lulu", + "title": "To Sir With Love", + "video_title": "Lulu - To Sir With Love - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.700434", + "reason": "already_on_server" + }, + "ok go_here it goes again": { + "artist": "OK Go", + "title": "Here It Goes Again", + "video_title": "OK Go - Here It Goes Again - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.749932", + "reason": "already_on_server" + }, + "mazzy star_fade into you": { + "artist": "Mazzy Star", + "title": "Fade Into You", + "video_title": "Mazzy Star - Fade Into You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:50.816106", + "reason": "already_on_server" + }, + "the korgis_everybody's got to learn sometime": { + "artist": "The Korgis", + "title": "Everybody's Got To Learn Sometime", + "video_title": "The Korgis - Everybody's Got To Learn Sometime - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.100453", + "reason": "already_on_server" + }, + "jim croce_time in a bottle": { + "artist": "Jim Croce", + "title": "Time In A Bottle", + "video_title": "Jim Croce - Time In A Bottle - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.205222", + "reason": "already_on_server" + }, + "maroon 5_won't go home without you": { + "artist": "Maroon 5", + "title": "Won't Go Home Without You", + "video_title": "Maroon 5 - Won't Go Home Without You - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.266888", + "reason": "already_on_server" + }, + "onerepublic_i lived": { + "artist": "OneRepublic", + "title": "I Lived", + "video_title": "OneRepublic - I Lived - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.333279", + "reason": "already_on_server" + }, + "alan jackson_right on the money": { + "artist": "Alan Jackson", + "title": "Right On The Money", + "video_title": "Alan Jackson - Right On The Money - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.386603", + "reason": "already_on_server" + }, + "justin hayward_forever autumn": { + "artist": "Justin Hayward", + "title": "Forever Autumn", + "video_title": "Justin Hayward - Forever Autumn - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.458488", + "reason": "already_on_server" + }, + "alan jackson_small town southern man": { + "artist": "Alan Jackson", + "title": "Small Town Southern Man", + "video_title": "Alan Jackson - Small Town Southern Man - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.517119", + "reason": "already_on_server" + }, + "roxette_dangerous": { + "artist": "Roxette", + "title": "Dangerous", + "video_title": "Roxette - Dangerous - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.562472", + "reason": "already_on_server" + }, + "jewel_hands": { + "artist": "Jewel", + "title": "Hands", + "video_title": "Jewel - Hands - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.605834", + "reason": "already_on_server" + }, + "alan jackson_country boy": { + "artist": "Alan Jackson", + "title": "Country Boy", + "video_title": "Alan Jackson - Country Boy - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.644202", + "reason": "already_on_server" + }, + "rick astley_she wants to dance with me": { + "artist": "Rick Astley", + "title": "She Wants To Dance With Me", + "video_title": "Rick Astley - She Wants To Dance With Me - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.761103", + "reason": "already_on_server" + }, + "no doubt_just a girl": { + "artist": "No Doubt", + "title": "Just A Girl", + "video_title": "No Doubt - Just A Girl - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.835756", + "reason": "already_on_server" + }, + "darlene love_christmas (baby please come home)": { + "artist": "Darlene Love", + "title": "Christmas (Baby Please Come Home)", + "video_title": "Darlene Love - Christmas (Baby Please Come Home) - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:51.892845", + "reason": "already_on_server" + }, + "chubby checker_the twist": { + "artist": "Chubby Checker", + "title": "The Twist", + "video_title": "Chubby Checker - The Twist - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.041387", + "reason": "already_on_server" + }, + "neil young_only love can break your heart": { + "artist": "Neil Young", + "title": "Only Love Can Break Your Heart", + "video_title": "Neil Young - Only Love Can Break Your Heart - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.112382", + "reason": "already_on_server" + }, + "chris stapleton_tennessee whiskey": { + "artist": "Chris Stapleton", + "title": "Tennessee Whiskey", + "video_title": "Chris Stapleton - Tennessee Whiskey - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.182373", + "reason": "already_on_server" + }, + "the kingsmen_louie louie": { + "artist": "The Kingsmen", + "title": "Louie Louie", + "video_title": "The Kingsmen - Louie Louie - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.224432", + "reason": "already_on_server" + }, + "seether_betray and degrade": { + "artist": "Seether", + "title": "Betray And Degrade", + "video_title": "Seether - Betray And Degrade - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.258108", + "reason": "already_on_server" + }, + "manfred mann's earth band_blinded by the light": { + "artist": "Manfred Mann's Earth Band", + "title": "Blinded By The Light", + "video_title": "Manfred Mann's Earth Band - Blinded By The Light - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.310485", + "reason": "already_on_server" + }, + "stephanie mills_never knew love like this before": { + "artist": "Stephanie Mills", + "title": "Never Knew Love Like This Before", + "video_title": "Stephanie Mills - Never Knew Love Like This Before - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.427332", + "reason": "already_on_server" + }, + "jason derulo_take you dancing": { + "artist": "Jason Derulo", + "title": "Take You Dancing", + "video_title": "Jason Derulo - Take You Dancing - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.501270", + "reason": "already_on_server" + }, + "craig david_7 days": { + "artist": "Craig David", + "title": "7 Days", + "video_title": "Craig David - 7 Days - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.564106", + "reason": "already_on_server" + }, + "the weeknd_blinding lights": { + "artist": "The Weeknd", + "title": "Blinding Lights", + "video_title": "The Weeknd - Blinding Lights - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.608441", + "reason": "already_on_server" + }, + "charlie puth_mother": { + "artist": "Charlie Puth", + "title": "Mother", + "video_title": "Charlie Puth - Mother - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.655242", + "reason": "already_on_server" + }, + "post malone_circles": { + "artist": "Post Malone", + "title": "Circles", + "video_title": "Post Malone - Circles - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.702330", + "reason": "already_on_server" + }, + "taylor swift_cardigan": { + "artist": "Taylor Swift", + "title": "Cardigan", + "video_title": "Taylor Swift - Cardigan - Karaoke Version from Zoom Karaoke", + "channel": "@ZoomKaraokeOfficial", + "marked_at": "2025-07-29T08:38:52.772857", + "reason": "already_on_server" } } \ No newline at end of file diff --git a/karaoke_downloader/cli.py b/karaoke_downloader/cli.py index 8fd681e..f06cb90 100644 --- a/karaoke_downloader/cli.py +++ b/karaoke_downloader/cli.py @@ -61,35 +61,37 @@ def load_channels_from_text(channels_file: str = "data/channels.txt") -> List[st def load_channels(channel_file: str = None) -> List[str]: - """ - Load channel URLs from either JSON or text format. - - Args: - channel_file: Path to the channel file (optional) - - Returns: - List of channel URLs - """ - if channel_file: - # Use the specified file - if channel_file.endswith('.json'): + """Load channel URLs from file.""" + if channel_file is None: + # Try JSON first, then fall back to text + if os.path.exists("data/channels.json"): + return load_channels_from_json("data/channels.json") + elif os.path.exists("data/channels.txt"): + return load_channels_from_text("data/channels.txt") + else: + return [] + else: + if channel_file.endswith(".json"): return load_channels_from_json(channel_file) else: return load_channels_from_text(channel_file) - else: - # Try JSON first, then fall back to text - json_file = "data/channels.json" - txt_file = "data/channels.txt" - - if os.path.exists(json_file): - print(f"šŸ“‹ Using new JSON format: {json_file}") - return load_channels_from_json(json_file) - elif os.path.exists(txt_file): - print(f"šŸ“‹ Using legacy text format: {txt_file}") - return load_channels_from_text(txt_file) - else: - print("āŒ No channel file found. Please create data/channels.json or data/channels.txt") - return [] + + +def get_channel_url_by_name(channel_name: str) -> str: + """Look up a channel URL by its name from the channels configuration.""" + channel_urls = load_channels() + + # Normalize the channel name for comparison + normalized_name = channel_name.lower().replace("@", "").replace("karaoke", "").strip() + + for url in channel_urls: + # Extract channel name from URL + if "/@" in url: + url_channel_name = url.split("/@")[1].split("/")[0].lower() + if url_channel_name == normalized_name or url_channel_name.replace("karaoke", "").strip() == normalized_name: + return url + + return None def main(): @@ -100,9 +102,10 @@ def main(): Examples: python download_karaoke.py --limit 10 # Download latest 10 videos from all channels python download_karaoke.py --songlist-only --limit 10 # Download only songlist songs across channels - python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos # Download from specific channel + python download_karaoke.py --channel-focus SingKingKaraoke --limit 5 # Download from specific channel + python download_karaoke.py --channel-focus SingKingKaraoke --all-videos # Download ALL videos from channel + python download_karaoke.py https://www.youtube.com/@SingKingKaraoke/videos # Download from specific channel URL python download_karaoke.py --file data/channels.txt # Download from custom channel list - python download_karaoke.py --manual --limit 5 # Download from manual videos collection python download_karaoke.py --reset-channel SingKingKaraoke --delete-files """, ) @@ -298,6 +301,16 @@ Examples: action="store_true", help="Download from manual videos collection (data/manual_videos.json)", ) + parser.add_argument( + "--channel-focus", + type=str, + help="Download from a specific channel by name (e.g., 'SingKingKaraoke')", + ) + parser.add_argument( + "--all-videos", + action="store_true", + help="Download all videos from channel (not just songlist matches), skipping existing files", + ) args = parser.parse_args() # Validate workers argument @@ -428,9 +441,10 @@ Examples: print("šŸ’¾ Channel Cache Information") print("=" * 40) print(f"Total Channels: {cache_info['total_channels']}") - print(f"Total Cached Videos: {cache_info['total_cached_videos']}") - print(f"Cache Duration: {cache_info['cache_duration_hours']} hours") - print(f"Last Updated: {cache_info['last_updated']}") + print(f"Total Cached Videos: {cache_info['total_videos']}") + print("\nšŸ“‹ Channel Details:") + for channel in cache_info['channels']: + print(f" • {channel['channel']}: {channel['videos']} videos (updated: {channel['last_updated']})") sys.exit(0) elif args.clear_cache: if args.clear_cache == "all": @@ -478,7 +492,42 @@ Examples: force_refresh=args.refresh, fuzzy_match=args.fuzzy_match, fuzzy_threshold=args.fuzzy_threshold, + force_download=args.force, ) + elif args.channel_focus: + # Download from a specific channel by name + print(f"šŸŽ¤ Looking up channel: {args.channel_focus}") + channel_url = get_channel_url_by_name(args.channel_focus) + + if not channel_url: + print(f"āŒ Channel '{args.channel_focus}' not found in configuration") + print("Available channels:") + channel_urls = load_channels() + for url in channel_urls: + if "/@" in url: + channel_name = url.split("/@")[1].split("/")[0] + print(f" • {channel_name}") + sys.exit(1) + + if args.all_videos: + # Download ALL videos from the channel (not just songlist matches) + print(f"šŸŽ¤ Downloading ALL videos from channel: {args.channel_focus} ({channel_url})") + success = downloader.download_all_channel_videos( + channel_url, + force_refresh=args.refresh, + force_download=args.force, + limit=args.limit, + ) + else: + # Download only songlist matches from the channel + print(f"šŸŽ¤ Downloading from channel: {args.channel_focus} ({channel_url})") + success = downloader.download_channel_videos( + channel_url, + force_refresh=args.refresh, + fuzzy_match=args.fuzzy_match, + fuzzy_threshold=args.fuzzy_threshold, + force_download=args.force, + ) elif args.songlist_only or args.songlist_focus: # Use provided file or default to channels configuration channel_urls = load_channels(args.file) diff --git a/karaoke_downloader/downloader.py b/karaoke_downloader/downloader.py index c0ea4c9..1a2745e 100644 --- a/karaoke_downloader/downloader.py +++ b/karaoke_downloader/downloader.py @@ -185,6 +185,7 @@ class KaraokeDownloader: force_refresh=False, fuzzy_match=False, fuzzy_threshold=DEFAULT_FUZZY_THRESHOLD, + force_download=False, ): """Download videos from a channel or playlist URL, respecting songlist-only and limit flags. Supports fuzzy matching.""" @@ -213,111 +214,177 @@ class KaraokeDownloader: print(f"šŸ“‹ Found {len(available_videos)} manual videos") # Process manual videos (skip yt-dlp) - return self._process_videos_for_download(available_videos, channel_name, force_refresh, fuzzy_match, fuzzy_threshold) + return self._process_videos_for_download(available_videos, channel_name, force_refresh, fuzzy_match, fuzzy_threshold, force_download) - # Regular YouTube channel processing + # Regular YouTube channel processing - USE TRACKING MANAGER CACHE channel_name, channel_id = get_channel_info(url) print(f"\nšŸŽ¬ Downloading from channel: {channel_name} ({url})") - songlist = load_songlist(self.songlist_file_path) - if not songlist: - print("āš ļø No songlist loaded. Skipping.") + + # Use tracking manager to get videos (with cache support) + available_videos = self.tracker.get_channel_video_list( + url, + str(self.yt_dlp_path), + force_refresh=force_refresh + ) + + if not available_videos: + print("āš ļø No videos found for this channel. Skipping.") return False + + print(f"šŸ“‹ Found {len(available_videos)} videos from channel") + + # Process videos for download + return self._process_videos_for_download(available_videos, channel_name, force_refresh, fuzzy_match, fuzzy_threshold, force_download) + def download_all_channel_videos( + self, + url, + force_refresh=False, + force_download=False, + limit=None, + ): + """Download ALL videos from a channel, skipping existing files and songs in songs.json.""" + + # Check if this is a manual channel + from karaoke_downloader.manual_video_manager import is_manual_channel, get_manual_channel_info, get_manual_videos_for_channel + + if is_manual_channel(url): + channel_name, channel_id = get_manual_channel_info(url) + print(f"\nšŸŽ¬ Downloading ALL videos from manual channel: {channel_name} ({url})") + + # Load manual videos + manual_videos = get_manual_videos_for_channel(channel_name) + if not manual_videos: + print("āš ļø No manual videos found. Skipping.") + return False + + # Convert to the expected format + available_videos = [] + for video in manual_videos: + available_videos.append({ + "title": video.get("title", ""), + "id": video.get("id", ""), + "url": video.get("url", "") + }) + + print(f"šŸ“‹ Found {len(available_videos)} manual videos") + + # Process all manual videos (skip songlist filtering) + return self._process_all_videos_for_download(available_videos, channel_name, force_refresh, force_download, limit) + + # Regular YouTube channel processing - USE TRACKING MANAGER CACHE + channel_name, channel_id = get_channel_info(url) + print(f"\nšŸŽ¬ Downloading ALL videos from channel: {channel_name} ({url})") + + # Use tracking manager to get videos (with cache support) + available_videos = self.tracker.get_channel_video_list( + url, + str(self.yt_dlp_path), + force_refresh=force_refresh + ) + + if not available_videos: + print("āš ļø No videos found for this channel. Skipping.") + return False + + print(f"šŸ“‹ Found {len(available_videos)} videos from channel") + + # Process all videos for download (skip songlist filtering) + return self._process_all_videos_for_download(available_videos, channel_name, force_refresh, force_download, limit) + + def _process_all_videos_for_download(self, available_videos, channel_name, force_refresh=False, force_download=False, limit=None): + """Process ALL videos for download (no songlist filtering).""" + print(f"šŸ” Processing {len(available_videos)} videos for download (no songlist filtering)...") + # Load server songs and duplicates tracking for availability checking server_songs = load_server_songs() server_duplicates_tracking = load_server_duplicates_tracking() - - limit = getattr(self.config, "limit", 1) - cmd = [ - str(self.yt_dlp_path), - "--flat-playlist", - "--print", - "%(title)s|%(id)s|%(url)s", - url, - ] - try: - result = subprocess.run(cmd, capture_output=True, text=True, check=True) - lines = result.stdout.strip().splitlines() - except subprocess.CalledProcessError as e: - print(f"āŒ yt-dlp failed to fetch playlist: {e}") - return False - available_videos = [] - for line in lines: - parts = line.split("|") - if len(parts) >= 2: - title, video_id = parts[0].strip(), parts[1].strip() - available_videos.append({"title": title, "id": video_id}) - # Normalize songlist for matching - normalized_songlist = { - create_song_key(s["artist"], s["title"]): s for s in songlist - } - matches = [] - similarity = get_similarity_function() + + # Load songlist to check if songs are already in songs.json + songlist = load_songlist(self.songlist_file_path) + songlist_artists_titles = set() + if songlist: + for song in songlist: + song_key = f"{song['artist']} - {song['title']}" + songlist_artists_titles.add(song_key) + + # Process all videos, skipping existing files and songs in songs.json + videos_to_download = [] + skipped_count = 0 + for video in available_videos: - artist, title = self.channel_parser.extract_artist_title(video["title"], channel_name) - key = create_song_key(artist, title) - if fuzzy_match: - # Fuzzy match against all songlist keys - best_score = 0 - best_song = None - for song_key, song in normalized_songlist.items(): - score = similarity(key, song_key) - if score > best_score: - best_score = score - best_song = song - if best_score >= fuzzy_threshold and best_song: - # Check if already downloaded or on server (unless force mode is enabled) - if self.force_download or not is_songlist_song_downloaded( - self.songlist_tracking, best_song["artist"], best_song["title"] - ): - # Check if already marked as server duplicate (unless force mode is enabled) - if self.force_download or not is_song_marked_as_server_duplicate( - server_duplicates_tracking, - best_song["artist"], - best_song["title"], - ): - # Check if already on server and mark for future skipping (unless force mode is enabled) - if self.force_download or not check_and_mark_server_duplicate( - server_songs, - server_duplicates_tracking, - best_song["artist"], - best_song["title"], - video["title"], - channel_name, - ): - matches.append((video, best_song)) - print( - f" → Fuzzy match: {artist} - {title} <-> {best_song['artist']} - {best_song['title']} (score: {best_score})" - ) - if len(matches) >= limit: - break - else: - if key in normalized_songlist: - song = normalized_songlist[key] - # Check if already downloaded or on server (unless force mode is enabled) - if self.force_download or not is_songlist_song_downloaded( - self.songlist_tracking, song["artist"], song["title"] - ): - # Check if already marked as server duplicate (unless force mode is enabled) - if self.force_download or not is_song_marked_as_server_duplicate( - server_duplicates_tracking, song["artist"], song["title"] - ): - # Check if already on server and mark for future skipping (unless force mode is enabled) - if self.force_download or not check_and_mark_server_duplicate( - server_songs, - server_duplicates_tracking, - song["artist"], - song["title"], - video["title"], - channel_name, - ): - matches.append((video, song)) - if len(matches) >= limit: - break - if not matches: - print("šŸŽµ No new songlist matches found for this channel.") + video_title = video["title"] + video_id = video["id"] + + # Extract artist and title + artist, extracted_title = self.channel_parser.extract_artist_title(video_title, channel_name) + if not artist and not extracted_title: + # Fallback: use the full title + artist = "" + extracted_title = video_title + + # Create filename + filename = f"{artist} - {extracted_title}.mp4" if artist and extracted_title else f"{video_title}.mp4" + output_path = self.downloads_dir / channel_name / filename + + # Check if file already exists + if output_path.exists() and not force_download: + print(f" ā­ļø Skipping existing file: {filename}") + skipped_count += 1 + continue + + # Check if song is already in songs.json + song_key = f"{artist} - {extracted_title}" + if song_key in songlist_artists_titles and not force_download: + # Check if there's already an MP4 version in songs.json + if song_key in server_songs: + song_info = server_songs[song_key] + if song_info.get("is_mp4", False): + print(f" ā­ļø Skipping song in songs.json (MP4): {song_key}") + skipped_count += 1 + continue + else: + print(f" šŸ“„ Found MP3 version in songs.json, will download MP4: {song_key}") + # Continue to download the MP4 version + else: + print(f" šŸ“„ Found song in songlist, will download MP4: {song_key}") + # Continue to download the MP4 version + + # Check if already downloaded (tracking) + if self.tracker.is_song_downloaded(artist, extracted_title, channel_name, video_id) and not force_download: + print(f" ā­ļø Skipping already tracked: {song_key}") + skipped_count += 1 + continue + + # Check if on server + if not force_download and check_and_mark_server_duplicate( + server_songs, + server_duplicates_tracking, + artist, + extracted_title, + video_title, + channel_name, + ): + print(f" ā­ļø Skipping server duplicate: {song_key}") + skipped_count += 1 + continue + + # Add to download list + videos_to_download.append((video, artist, extracted_title, filename)) + + print(f"šŸ“Š Found {len(videos_to_download)} videos to download (skipped {skipped_count})") + + # Apply limit if specified + if limit is not None: + original_count = len(videos_to_download) + videos_to_download = videos_to_download[:limit] + print(f"šŸŽÆ Limited to first {limit} videos (was {original_count} total)") + + if not videos_to_download: + print("šŸŽµ No new videos to download.") return True - # Download only the first N matches using the new pipeline + + # Download videos using the download pipeline pipeline = DownloadPipeline( yt_dlp_path=str(self.yt_dlp_path), config=self.config, @@ -325,11 +392,11 @@ class KaraokeDownloader: songlist_tracking=self.songlist_tracking, tracker=self.tracker, ) - - for video, song in matches: - artist, title = song["artist"], song["title"] - print(f"šŸŽµ Processing: {artist} - {title}") - + + success_count = 0 + for i, (video, artist, title, filename) in enumerate(videos_to_download, 1): + print(f"ā¬‡ļø Downloading {i}/{len(videos_to_download)}: {artist} - {title}") + if pipeline.execute_pipeline( video_id=video["id"], artist=artist, @@ -337,10 +404,13 @@ class KaraokeDownloader: channel_name=channel_name, video_title=video.get("title", ""), ): - print(f"āœ… Successfully processed: {artist} - {title}") + print(f"āœ… Successfully downloaded: {artist} - {title}") + success_count += 1 else: - print(f"āŒ Failed to process: {artist} - {title}") - return True + print(f"āŒ Failed to download: {artist} - {title}") + + print(f"\nšŸŽ‰ Download complete! {success_count}/{len(videos_to_download)} videos downloaded successfully") + return success_count > 0 def download_songlist_across_channels( self, @@ -587,463 +657,40 @@ class KaraokeDownloader: ) return success - def execute_download_plan_parallel( - self, - download_plan, - unmatched, - cache_file, - limit=None, - ): - """ - Execute a download plan using parallel downloads. - - Args: - download_plan: List of download items to process - unmatched: List of unmatched songs - cache_file: Path to cache file for progress tracking - limit: Optional limit on number of downloads - - Returns: - tuple: (downloaded_count, success) - """ - if not self.enable_parallel_downloads: - # Fall back to sequential downloads - return execute_download_plan( - download_plan=download_plan, - unmatched=unmatched, - cache_file=cache_file, - config=self.config, - yt_dlp_path=self.yt_dlp_path, - downloads_dir=self.downloads_dir, - songlist_tracking=self.songlist_tracking, - limit=limit, - ) - - # Create parallel downloader - parallel_downloader = create_parallel_downloader( - yt_dlp_path=str(self.yt_dlp_path), - config=self.config, - downloads_dir=self.downloads_dir, - max_workers=self.parallel_workers, - songlist_tracking=self.songlist_tracking, - tracker=self.tracker, - ) - - # Convert download plan to tasks - tasks = [] - total_to_download = limit if limit is not None else len(download_plan) - - for idx, item in enumerate(download_plan): - if limit is not None and len(tasks) >= limit: - break - - task = DownloadTask( - video_id=item["video_id"], - artist=item["artist"], - title=item["title"], - channel_name=item["channel_name"], - video_title=item.get("video_title"), - priority=len(download_plan) - idx, # Higher priority for earlier items - ) - tasks.append(task) - - print(f"šŸš€ Starting parallel downloads with {self.parallel_workers} workers...") - print(f"šŸ“‹ Total tasks: {len(tasks)}") - - # Add all tasks to the parallel downloader - parallel_downloader.add_download_tasks(tasks) - - # Execute parallel downloads - results = parallel_downloader.execute_downloads(show_progress=True) - - # Process results and update tracking - successful_downloads = 0 - for result in results: - if result.success: - successful_downloads += 1 - # Remove completed item from plan and update cache - for idx, item in enumerate(download_plan): - if (item["video_id"] == result.task.video_id and - item["artist"] == result.task.artist and - item["title"] == result.task.title): - download_plan.pop(idx) - break - - # Update cache after each successful download - save_plan_cache(cache_file, download_plan, unmatched) - - print(f"šŸŽ‰ Parallel downloads completed!") - print(f" āœ… Successful: {successful_downloads}") - print(f" āŒ Failed: {len(results) - successful_downloads}") - - # Delete cache if all items are complete - if len(download_plan) == 0: - cleanup_cache(cache_file) - - return successful_downloads, True - - def execute_latest_per_channel_parallel( - self, - channel_plans, - cache_file, - ): - """ - Execute latest-per-channel downloads using parallel processing. - - Args: - channel_plans: List of channel plans with videos to download - cache_file: Path to cache file for progress tracking - - Returns: - bool: True if successful - """ - if not self.enable_parallel_downloads: - # Fall back to sequential processing - return self._execute_latest_per_channel_sequential(channel_plans, cache_file) - - # Create parallel downloader - parallel_downloader = create_parallel_downloader( - yt_dlp_path=str(self.yt_dlp_path), - config=self.config, - downloads_dir=self.downloads_dir, - max_workers=self.parallel_workers, - songlist_tracking=self.songlist_tracking, - tracker=self.tracker, - ) - - # Convert all videos to tasks - all_tasks = [] - task_to_channel_mapping = {} # Map task identifiers to their channel index - - for channel_idx, channel_plan in enumerate(channel_plans): - channel_name = channel_plan["channel_name"] - videos = channel_plan["videos"] - - for v_idx, video in enumerate(videos): - title = video["title"] - video_id = video["id"] - - # Sanitize filename - safe_title = title - invalid_chars = ["?", ":", "*", '"', "<", ">", "|", "/", "\\"] - for char in invalid_chars: - safe_title = safe_title.replace(char, "") - safe_title = ( - safe_title.replace("...", "") - .replace("..", "") - .replace(".", "") - .strip() - ) - - # Extract artist and title for tracking - artist, title_clean = self.channel_parser.extract_artist_title(title, channel_name) - - task = DownloadTask( - video_id=video_id, - artist=artist, - title=title_clean, - channel_name=channel_name, - video_title=title, - priority=len(channel_plans) - channel_idx, # Higher priority for earlier channels - ) - all_tasks.append(task) - # Use a unique identifier for the mapping - task_id = f"{video_id}_{channel_name}_{title_clean}" - task_to_channel_mapping[task_id] = channel_idx - - print(f"šŸš€ Starting parallel latest-per-channel downloads with {self.parallel_workers} workers...") - print(f"šŸ“‹ Total tasks: {len(all_tasks)} across {len(channel_plans)} channels") - - # Add all tasks to the parallel downloader - parallel_downloader.add_download_tasks(all_tasks) - - # Execute parallel downloads - results = parallel_downloader.execute_downloads(show_progress=True) - - # Process results and update channel plans - successful_downloads = 0 - channel_completion_status = {i: False for i in range(len(channel_plans))} - - for result in results: - if result.success: - successful_downloads += 1 - # Create the same task identifier used in the mapping - task_id = f"{result.task.video_id}_{result.task.channel_name}_{result.task.title}" - channel_idx = task_to_channel_mapping[task_id] - - # Mark this video as completed in the channel plan - channel_plan = channel_plans[channel_idx] - for v_idx, video in enumerate(channel_plan["videos"]): - if (video["id"] == result.task.video_id and - video["title"] == result.task.video_title): - channel_plan["videos"].pop(v_idx) - break - - # Check if channel is complete - if len(channel_plan["videos"]) == 0 and not channel_completion_status[channel_idx]: - channel_completion_status[channel_idx] = True - print(f" šŸ—‘ļø Channel {result.task.channel_name} completed and removed from plan cache.") - - # Update cache with remaining videos - with open(cache_file, "w", encoding="utf-8") as f: - json.dump( - { - "timestamp": datetime.now().isoformat(), - "channel_plans": channel_plans, - }, - f, - indent=2, - ensure_ascii=False, - ) - - print(f"šŸŽ‰ Parallel latest-per-channel downloads completed!") - print(f" āœ… Successful: {successful_downloads}") - print(f" āŒ Failed: {len(results) - successful_downloads}") - - # Delete cache if all channels are complete - all_complete = all(channel_completion_status.values()) - if all_complete: - if cache_file.exists(): - try: - cache_file.unlink() - print(f"šŸ—‘ļø Deleted latest-per-channel plan cache after completion: {cache_file.name}") - except Exception as e: - print(f"āš ļø Could not delete latest-per-channel plan cache: {e}") - - return True - - def _execute_latest_per_channel_sequential( - self, - channel_plans, - cache_file, - ): - """ - Execute latest-per-channel downloads sequentially (fallback method). - """ - total_channels = len(channel_plans) - for idx, channel_plan in enumerate(channel_plans): - channel_name = channel_plan["channel_name"] - channel_url = channel_plan["channel_url"] - videos = channel_plan["videos"] - print( - f"\nā¬‡ļø Downloading {len(videos)} videos from channel {idx+1} of {total_channels}: {channel_name}" - ) - for v_idx, video in enumerate(videos): - title = video["title"] - video_id = video["id"] - # Sanitize filename - safe_title = title - invalid_chars = ["?", ":", "*", '"', "<", ">", "|", "/", "\\"] - for char in invalid_chars: - safe_title = safe_title.replace(char, "") - safe_title = ( - safe_title.replace("...", "") - .replace("..", "") - .replace(".", "") - .strip() - ) - filename = f"{channel_name} - {safe_title}.mp4" - # Extract artist and title for tracking - artist, title_clean = self.channel_parser.extract_artist_title(title, channel_name) - - print( - f" ({v_idx+1}/{len(videos)}) Processing: {artist} - {title_clean}" - ) - - # Use the new pipeline for consistent processing - pipeline = DownloadPipeline( - yt_dlp_path=str(self.yt_dlp_path), - config=self.config, - downloads_dir=self.downloads_dir, - songlist_tracking=self.songlist_tracking, - tracker=self.tracker, - ) - - if pipeline.execute_pipeline( - video_id=video_id, - artist=artist, - title=title_clean, - channel_name=channel_name, - video_title=title, - ): - print(f" āœ… Successfully processed: {artist} - {title_clean}") - else: - print(f" āŒ Failed to process: {artist} - {title_clean}") - # After channel is done, remove it from the plan and update cache - channel_plans[idx]["videos"] = [] - with open(cache_file, "w", encoding="utf-8") as f: - json.dump( - { - "timestamp": datetime.now().isoformat(), - "channel_plans": channel_plans, - }, - f, - indent=2, - ensure_ascii=False, - ) - print( - f" šŸ—‘ļø Channel {channel_name} completed and removed from plan cache." - ) - # After all channels are done, delete the cache - if cache_file.exists(): - try: - cache_file.unlink() - print( - f"šŸ—‘ļø Deleted latest-per-channel plan cache after completion: {cache_file.name}" - ) - except Exception as e: - print(f"āš ļø Could not delete latest-per-channel plan cache: {e}") - print(f"šŸŽ‰ All latest videos downloaded for all channels!") - return True - - def download_latest_per_channel( - self, - channel_urls, - limit=5, - force_refresh_download_plan=False, - fuzzy_match=False, - fuzzy_threshold=DEFAULT_FUZZY_THRESHOLD, - force_download=False, - ): - """ - Download the latest N videos from each channel in channel_urls. - - Pre-scan all channels for their latest N videos. - - Check against local songs file to avoid duplicates. - - Build a per-channel download plan and cache it. - - Resume robustly if interrupted (removes each channel from the plan as it completes). - - Deletes the plan cache when all channels are done. - """ - # Set force download flag - self.force_download = force_download - - print(f"\nšŸŽ¬ Downloading latest {limit} videos from each channel...") - # Load server songs for availability checking - server_songs = load_server_songs() - server_duplicates_tracking = load_server_duplicates_tracking() - - plan_mode = "latest_per_channel" - # Include all parameters that affect the plan generation - plan_kwargs = { - "limit": limit, - "channels": len(channel_urls), - "fuzzy": fuzzy_match, - "threshold": fuzzy_threshold, - } - # Add channel URLs hash to ensure same channels = same cache - channels_hash = hashlib.md5( - "|".join(sorted(channel_urls)).encode() - ).hexdigest()[:8] - plan_kwargs["channels_hash"] = channels_hash - cache_file = get_download_plan_cache_file(plan_mode, **plan_kwargs) - use_cache = False - if not force_refresh_download_plan and cache_file.exists(): - try: - with open(cache_file, "r", encoding="utf-8") as f: - plan_data = json.load(f) - cache_time = datetime.fromisoformat(plan_data.get("timestamp")) - if datetime.now() - cache_time < timedelta( - days=DEFAULT_CACHE_EXPIRATION_DAYS - ): - print( - f"šŸ—‚ļø Using cached latest-per-channel plan from {cache_time} ({cache_file.name})." - ) - channel_plans = plan_data["channel_plans"] - use_cache = True - except Exception as e: - print(f"āš ļø Could not load latest-per-channel plan cache: {e}") - if not use_cache: - print("\nšŸ”Ž Pre-scanning all channels for latest videos...") - channel_plans = [] - total_found = 0 - total_filtered = 0 - total_marked = 0 - - for channel_url in channel_urls: - channel_name, channel_id = get_channel_info(channel_url) - print(f"\n🚦 Starting channel: {channel_name} ({channel_url})") - available_videos = self.tracker.get_channel_video_list( - channel_url, yt_dlp_path=str(self.yt_dlp_path), force_refresh=False - ) - print( - f" → Found {len(available_videos)} total videos for this channel." - ) - - # Pre-filter: Create a set of known duplicate keys for O(1) lookup - known_duplicate_keys = set() - for song_key in server_duplicates_tracking.keys(): - known_duplicate_keys.add(song_key) - - # Pre-filter videos to exclude known duplicates before processing - pre_filtered_videos = [] - for video in available_videos: - artist, title = self.channel_parser.extract_artist_title(video["title"], channel_name) - song_key = create_song_key(artist, title) - if song_key not in known_duplicate_keys: - pre_filtered_videos.append(video) - - print( - f" → After pre-filtering: {len(pre_filtered_videos)} videos not previously marked as duplicates." - ) - - # Process videos until we reach the limit for this channel - filtered_videos = [] - videos_checked = 0 - - for video in pre_filtered_videos: - if len(filtered_videos) >= limit: - break # We have enough videos for this channel - - videos_checked += 1 - artist, title = self.channel_parser.extract_artist_title(video["title"], channel_name) - - # Check if should skip this song during planning phase - should_skip, reason, filtered_count = self._should_skip_song( - artist, - title, - channel_name, - video["id"], - video["title"], - server_songs, - server_duplicates_tracking, - ) - if should_skip: - total_filtered += 1 - if reason == "on server": - total_marked += filtered_count - continue - - filtered_videos.append(video) - - print( - f" → After processing: {len(filtered_videos)} videos to download (checked {videos_checked} videos, filtered out {videos_checked - len(filtered_videos)} already on server)." - ) - total_found += len(filtered_videos) - - channel_plans.append( - { - "channel_name": channel_name, - "channel_url": channel_url, - "videos": filtered_videos, - } - ) - - print( - f"\nšŸ“Š Summary: {total_found} videos to download across {len(channel_plans)} channels (filtered out {total_filtered} already on server, marked {total_marked} new duplicates for future skipping)." - ) - - plan_data = { - "timestamp": datetime.now().isoformat(), - "channel_plans": channel_plans, - } - with open(cache_file, "w", encoding="utf-8") as f: - json.dump(plan_data, f, indent=2, ensure_ascii=False) - print(f"šŸ—‚ļø Saved new latest-per-channel plan cache: {cache_file.name}") - # --- Download phase --- - return self.execute_latest_per_channel_parallel(channel_plans, cache_file) - - def _process_videos_for_download(self, available_videos, channel_name, force_refresh=False, fuzzy_match=False, fuzzy_threshold=DEFAULT_FUZZY_THRESHOLD): + def _process_videos_for_download(self, available_videos, channel_name, force_refresh=False, fuzzy_match=False, fuzzy_threshold=DEFAULT_FUZZY_THRESHOLD, force_download=False): """Process videos for download (used for both manual and regular channels).""" songlist = load_songlist(self.songlist_file_path) + + # For manual videos with force_download, bypass songlist filtering + if force_download and channel_name == "@ManualVideos": + print(f"šŸ’Ŗ Force mode enabled - downloading all {len(available_videos)} manual videos") + + # Download all videos directly without songlist filtering + success_count = 0 + for i, video in enumerate(available_videos, 1): + title = video["title"] + video_id = video["id"] + + print(f"\nā¬‡ļø Downloading {i}/{len(available_videos)}: {title}") + print(f" šŸŽ¬ Video: {title} ({channel_name})") + + # Create filename from title + artist, extracted_title = self.channel_parser.extract_artist_title(title, channel_name) + if not artist and not extracted_title: + # Fallback: use the full title as filename + filename = sanitize_filename("", title) + else: + filename = sanitize_filename(artist, extracted_title) + + # Download the video + success = self._download_single_video(video, channel_name, filename, force_download=True) + if success: + success_count += 1 + + print(f"\nāœ… Downloaded {success_count}/{len(available_videos)} manual videos") + return success_count > 0 + + # Regular songlist-based processing if not songlist: print("āš ļø No songlist loaded. Skipping.") return False @@ -1169,6 +816,44 @@ class KaraokeDownloader: print(f"\nšŸŽ‰ Download complete! {success_count}/{len(matches)} videos downloaded successfully") return success_count > 0 + def _download_single_video(self, video, channel_name, filename, force_download=False): + """Download a single video using the download pipeline.""" + video_id = video["id"] + video_title = video["title"] + + # Extract artist and title for tracking + artist, extracted_title = self.channel_parser.extract_artist_title(video_title, channel_name) + if not artist and not extracted_title: + # Fallback: use the full title + artist = "" + extracted_title = video_title + + output_path = self.downloads_dir / channel_name / filename + + # Use the download pipeline + pipeline = DownloadPipeline( + yt_dlp_path=str(self.yt_dlp_path), + config=self.config, + downloads_dir=self.downloads_dir, + songlist_tracking=self.songlist_tracking, + tracker=self.tracker, + ) + + success = pipeline.execute_pipeline( + video_id=video_id, + artist=artist, + title=extracted_title, + channel_name=channel_name, + video_title=video_title + ) + + if success: + print(f"āœ… Successfully downloaded: {video_title}") + else: + print(f"āŒ Failed to download: {video_title}") + + return success + def reset_songlist_all(): """Delete all files tracked in songlist_tracking.json, clear songlist_tracking.json, and remove songlist songs from karaoke_tracking.json."""