A minimalist macOS menu bar application for playing audio from YouTube live streams and videos.
VibeCodingYTPlayer is a lightweight macOS menu bar app that allows you to listen to YouTube live streams and videos as audio-only, without keeping a browser tab open. The app runs entirely from the menu bar, keeping your desktop clean while you enjoy your favorite content.
- 🎵 Audio-only playback from YouTube live streams and videos
- 📍 Menu bar integration - no Dock icon, stays out of your way
- ⚡️ Full playback controls - Play, Pause, Stop, Restart
- 🔇 Audio controls - Mute, Unmute, Toggle
- ⏱️ Elapsed time tracking - See how long you've been listening
- ⌨️ Keyboard shortcuts - Control playback without touching the mouse
- 💾 URL persistence - Your last URL is saved and restored
- 🎨 Native macOS design - Follows Apple's Human Interface Guidelines
- 🔒 Privacy-focused - Minimal dependencies, no analytics
- macOS 13.0 (Ventura) or later
- yt-dlp installed (see Installation)
VibeCodingYTPlayer requires yt-dlp to extract audio streams from YouTube. Install it using Homebrew:
brew install yt-dlpOr download from the official repository.
-
Clone this repository:
git clone https://github.com/yourusername/YoutubeLivePlayer.git cd YoutubeLivePlayer -
Open in Xcode:
open YoutubeLivePlayer.xcodeproj
-
Build and run (⌘R) or create an archive for distribution
- Launch the app - Look for the music note icon (🎵) in your menu bar
- Set your YouTube URL:
- Click the menu bar icon
- Navigate to the Settings tab
- Paste a YouTube URL (live stream or regular video)
- Start listening:
- Go back to the Main tab
- Click the Play button
- Enjoy audio-only playback!
The Main screen provides all your playback controls:
- Play
▶️ - Start playing the audio (⌘P) - Pause ⏸ - Pause playback
- Stop ⏹ - Stop playback and reset time (⌘S)
- Restart 🔄 - Restart from the beginning (⌘R)
- Mute 🔇 - Mute the audio (⌘M)
- Unmute 🔊 - Unmute the audio
- Toggle Audio 🔀 - Switch between mute/unmute (⌘T)
- Open in Browser 🌐 - Open the current URL in your default browser (⌘B)
- Quit ⏻ - Exit the application (⌘Q)
| Action | Shortcut |
|---|---|
| Play | ⌘P |
| Stop | ⌘S |
| Restart | ⌘R |
| Mute | ⌘M |
| Toggle Audio | ⌘T |
| Open in Browser | ⌘B |
| Show Window | ⌘W |
| Quit | ⌘Q |
The Main screen shows your current playback state:
- 🟢 Playing - Audio is currently playing
- 🟠 Paused - Playback is paused
- ⚪️ Stopped - No active playback
- 🔵 Loading... - Extracting audio stream (with spinner)
- 🔴 Error - An error occurred (with details)
When muted, a 🔇 indicator appears next to the playback state.
The app accepts these YouTube URL formats:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtube.com/watch?v=VIDEO_IDhttps://m.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/live/VIDEO_ID
Solution: Install yt-dlp using Homebrew:
brew install yt-dlpIf you've installed yt-dlp but still see the error, verify the installation:
which yt-dlpPossible causes and solutions:
- Invalid URL: Verify the YouTube URL is correct
- No internet connection: Check your network connection
- Video unavailable: The video may be private, deleted, or region-locked
- Live stream not started: Wait until the stream begins
- yt-dlp needs update: Update yt-dlp to the latest version:
brew upgrade yt-dlp
- Language: Swift 5
- Frameworks: SwiftUI, AVFoundation, AppKit, Combine
- External Tools: yt-dlp (for audio extraction)
- Minimum macOS: 13.0 (Ventura)
Version numbers follow the pattern: YYYY.M.N
- YYYY: Year (e.g., 2026)
- M: Month (1-12)
- N: Release number for that month
Example: 2026.1.1 = First release in January 2026
Q: Does this download videos? A: No, it streams audio directly without downloading.
Q: Can I play regular videos (not just live streams)? A: Yes! Despite the name, it works with any YouTube video or live stream.
Q: Does it work with private/unlisted videos? A: Only if the URL is publicly accessible. Private and members-only videos won't work.
Q: Is there a Windows/Linux version? A: Not currently. This is a macOS-specific application.
Made with ❤️ for the macOS community
Current Version: 2026.1.1 | Released: January 2026