# JaTubePlayer -- GUI manual ![螢幕擷取畫面 2026-02-05 171250](https://hackmd.io/_uploads/ByRGGxMwZx.png) ### Header Bar ![螢幕擷取畫面 2026-02-05 183000](https://hackmd.io/_uploads/SyPzzgzvWl.png) - **Search**: Enter YouTube queries and click search button (or press `Enter`) - **Playlist Dropdown**: Click to check available playlists, select one playlist, and click again to load it - **Status Indicators**: Chrome extension (green dot), Discord (blue dot), Google account (profile picture or "X") ### Left Panel - Player ![螢幕擷取畫面 2026-02-05 183040](https://hackmd.io/_uploads/SyVQMlGDZe.png) - **Video Area**: Click to pause/play, mouse wheel for volume - **Progress Bar**: Displays time elapsed/total, click/drag to seek - **Controls**: Previous (⏮), Play/Pause (▶/⏸), Stop (⏹), Next (⏭) - **Volume**: Slider (0-120%), adjustable via mouse wheel - **Modes**: Continue (▶▶), Repeat (🔁), Random (🔀) - **Now Playing**: Shows current video title - **Buttons**: Settings (⚙️), Selected Info (ℹ️), Playing Info (📊), Fullscreen (⛶) ### Right Panel - Content ![螢幕擷取畫面 2026-02-05 183424](https://hackmd.io/_uploads/HJ34MezvZl.png) - **Mode Display**: Shows current operation status - **Video List**: Thumbnails and titles, double-click to play, single-click to select - **Sources**: Recommend (✨), Subscriptions (📺), Liked (❤️), File (📄), Folder (📁) - **Play Selected**: Loads highlighted video - **Navigation**: Previous/Next buttons with page indicator (for paginated content like subscriptions and liked videos) ### Additional Features - **Video Info**: View detailed metadata for selected or playing videos - **Fullscreen**: Press `Esc` or click ⛶ button to toggle - **Keyboard**: `Space` for play/pause, arrow keys for seeking --- ## Settings Panel JaTubePlayer 2.0 features a comprehensive settings system organized into 7 tabbed sections: ### 1. Advanced Player Settings Tab ![螢幕擷取畫面 2026-02-05 183123](https://hackmd.io/_uploads/BkoHGxMPbx.png) ![螢幕擷取畫面 2026-02-05 183135](https://hackmd.io/_uploads/HJJUMlGwbe.png) #### Playback Settings - **Max Resolution**: Set maximum playback quality (480p to 4320p) to optimize performance - **Auto Retry**: Automatically retry failed video loads - **Audio Only Mode**: Play audio without video rendering - **Player Speed**: Adjustable playback speed (0.3x to 3.0x) #### Interface Settings - **Acrylic Blur Effect**: Enable Windows 11-style transparency effects - **Auto Fullscreen**: Automatically enter fullscreen when opening files #### Advanced Settings - **Show MPV Log**: View detailed player logs for troubleshooting - **Enable Drag and Drop**: Allow file dropping onto the player - **Force Stop Loading**: Emergency stop for stuck video loading - **Show Cache Info**: Display caching information #### External Services - **Chrome Extension Server**: Enable browser integration for remote control - **Discord Rich Presence**: Show currently playing content on Discord - **Show Playing Info**: Toggle detailed status display ### 2. Personal Playlist Tab ![螢幕擷取畫面 2026-02-05 183141](https://hackmd.io/_uploads/SyRPflMv-g.png) #### YouTube Data Management - **Update Liked Videos**: Refresh your YouTube liked videos list - **Auto-update Liked Videos**: Automatically sync liked videos when you load the liked videos - **Update Subscriptions**: Refresh subscribed channels list - **Auto-update Subscriptions**: Automatically sync subscription data when you load subscription - **Update Playlists**: Refresh your YouTube playlists #### History Management - **Record Playback History**: Track watched content for recommendations - **Reset History**: Reset all stored viewing data to default ### 3. Download Tab ![螢幕擷取畫面 2026-02-05 183159](https://hackmd.io/_uploads/HJKdGgzDWg.png) #### Selected Video Info - Displays currently selected video title and details #### Format Selection - **Audio (MP3)**: Download audio-only format - **Video (MP4)**: Download full video with selectable resolution #### Resolution Options - **Get Available Resolutions**: Fetch quality options for the selected video (click to populate the dropdown). - **Resolution Dropdown**: Select a resolution from the list or enter a numeric maximum resolution manually (e.g., `720`). - Entered values must be numeric and >= 144; > if the exact resolution isn't available then the download will be canceled #### Download Process - **Download Selected Video**: Start download to `./user_data/downloaded_file/` directory - **Progress Display**: Real-time download status > **Note**: Downloads are disabled for live streams and local files ### 4. Quick Init Tab ![螢幕擷取畫面 2026-02-05 183219](https://hackmd.io/_uploads/rkjYMefvZe.png) #### Quick Startup Settings - **Toggle Quick Startup**: Enable/disable automatic startup modes - **Current Mode Display**: Shows active startup configuration #### Startup Options - **Search Mode**: - Auto-search YouTube with predefined query - Set search term and activate - **Playlist Mode**: - Load specific YouTube playlist at startup - Get available playlists and select target - **Local Folder Mode**: - Auto-load media from specified directory - Browse and select target folder - **Recommendation Mode**: - Start with AI-generated suggestions *Requires history tracking enabled* > - you must click the ` set` button for search & playlist in order to save your choice > - The open with feature dose not trigger this function ### 5. Account & Authentication Tab ![螢幕擷取畫面 2026-02-05 183233](https://hackmd.io/_uploads/BJOczlMw-g.png) #### Google Account Management - **Login Google**: Authenticate with Google for YouTube access - **Logout Google**: Clear authentication and local data,including `sub.json` and `liked.json` - **Delete System Key**: Remove all encryption keys (regenerated on restart) - **Account Status**: Shows current login state with profile picture #### YouTube API Configuration - **Enter YouTube API**: Input your YouTube Data API key - **Delete Stored API**: Remove saved API credentials - **API Status**: Displays masked current API key #### Cookie Management - **Select Cookie**: Load YouTube authentication cookies - **Remove Stored Cookie**: Clear loaded cookie data - **Cookie Path**: Shows current cookie file location > **Privacy Note**: Cookies are optional and only used to bypass robot verification and to access the member only media. #### Client Secret Configuration - **Select Client Secret**: Load OAuth2 client_secret.json file - **Remove Stored Client Secret**: Delete loaded OAuth configuration - **File Path Display**: Shows current client secret location ### 6. Version Info Tab ![螢幕擷取畫面 2026-02-05 183245](https://hackmd.io/_uploads/BJe2GeGwWx.png) #### YT-DLP Information - **Current Version**: Installed yt-dlp version display - **Latest Version**: Available update version (requires internet) - **Update Button**: One-click yt-dlp updating - **Visit Website**: Direct link to yt-dlp releases #### JaTubePlayer Information - **Current Version**: Installed player version - **Latest Version**: Available update information - **Visit Website**: Link to JaTubePlayer releases #### Update Settings - **Check Version at Startup**: Automatically check for updates on launch ### 7. Hotkeys Tab ![螢幕擷取畫面 2026-02-05 183251](https://hackmd.io/_uploads/B1n2zlGPbg.png) #### Global Hotkey Configuration - **Set Hotkey**: Configure system-wide keyboard shortcuts - **Function Selection**: Choose action to assign hotkey - **Set Default**: Restore default hotkey assignments #### Available Hotkey Functions **Playback Controls**: - Play/Pause: `Ctrl+Shift+P` - Stop: `Ctrl+Shift+S` - Next Video: `Ctrl+Shift+N` - Previous Video: `Ctrl+Shift+B` **Playback Modes**: - Toggle Repeat: `Ctrl+Shift+R` - Toggle Random: `Ctrl+Shift+X` - Toggle Continuous: `Ctrl+Shift+C` **Volume Controls**: - Volume Up: `Ctrl+Shift+↑` - Volume Down: `Ctrl+Shift+↓` **Player Controls**: - Toggle Minimize: `Ctrl+Shift+M` > **Note**: All hotkeys work system-wide, even when JaTubePlayer is minimized ## 📝 Author Notes - When the currently playing stream ends, please select another video or stream to continue playback. - We suggest not using the **Recommendation List** too frequently, as it may trigger the request limit of `yt_dlp`. - If you open the application frequently, consider disabling **Quick startup init** in the `Settings` page to improve startup speed and avoid getting rate limited by `ytdlp`. - While downloading, don't click on other video as it might cause unexpected error ### 🔄 Playback Troubleshooting - If the player suddenly pauses: - First, enable `Settings > Advanced Player > Show Cache Info` and wait for cache to display - Try reloading the video - If the issue persists, go to `Settings > Account & Authentication > Cookie Management` and load your cookie file - As a last resort, update yt-dlp via `Settings > Version Info > Update` button - If the player requests antibot verification: - Go to `Settings > Account & Authentication > Cookie Management` - Load a fresh YouTube cookie file to bypass verification --- ## 📝 Usage Guidelines & Best Practices ### General Usage - **Content Updates**: Regularly update your subscription and liked video lists via `Settings > Personal Playlist` for fresh content - **Performance**: Consider lowering max resolution in `Settings > Advanced Player` if experiencing performance issues - **Quick Access**: Use global hotkeys for convenient control without switching to the player window ### Recommendation System - **History Tracking**: Enable `Settings > Personal Playlist > Record Playback History` for recommendations - **Rate Limiting**: Use recommendations moderately to avoid triggering YouTube's request limits - **Data Privacy**: All recommendation data is stored **locally** ### Startup Optimization - **Quick Init**: Use `Settings > Quick Init` to automatically load content at startup - **Performance**: Disable quick startup features if you experience slow application launches, or when you repeatedly launch the player - >The open with feature dose not trigger this function - **Network**: Quick init modes require internet connection for YouTube content ### Download Best Practices - **Format Selection**: Choose MP3 for audio-only or MP4 with appropriate resolution - **Single Downloads**: Avoid starting multiple downloads simultaneously - **Live Content**: Live streams cannot be downloaded and will show as disabled - **Storage**: Downloaded files are saved to `./user_data/downloaded_file/` directory ### Chrome Extension Integration - **Remote Control**: Enable `Settings > Advanced Player > Chrome Extension Server` for browser control - **Status Indicator**: Green dot in header shows active connection - **Port**: Default server runs on localhost for security ### Discord Integration - **Rich Presence**: Enable in `Settings > Advanced Player > Discord Rich Presence` - **Privacy**: Toggle showing detailed playing information in Discord status - **Status Indicator**: Blue dot in header shows Discord connection