PyTube Downloader is a user-friendly application that allows users to download YouTube videos with ease. It features a simple and intuitive user interface, making the downloading process straightforward for all users.
- Easy Downloading: Download YouTube videos effortlessly by pasting the video URL into the application.
- Playlist Downloading: Download entire playlists using just the playlist URL.
- Format Selection: Choose from various video and audio formats for downloading.
- Progress Tracking: Track the download progress within the application.
- Simultaneous Downloads: Download multiple YouTube videos simultaneously, saving time and increasing efficiency. Users have full control over the number of simultaneous downloads, allowing for a personalized downloading experience.
- Automatic Download with Predefined Settings Users can set predefined download settings such as preferred video quality, audio format, download location, and more. Once a YouTube URL is added, the video/playlist will load and then start to download automatically according to these predefined settings.
- In playlist auto download mode, if any video fails to load, it will be ignored, and the download will continue with the remaining videos.
- Dynamic Folder Organization: Automatically organize downloaded files into separate directories based on factors such as video quality, file type (audio or video), and playlist name, ensuring efficient and structured storage.
- Quality-Based Folder Structure: Create distinct folders for downloads categorized by their quality settings, allowing users to easily locate and manage files based on their desired resolution or bitrate.
- Type-Specific Directories: Customize folder organization to segregate audio and video files into their respective folders, providing a clear distinction between different media types.
- Playlist-Centric Folders: Automatically create folders named after the channel and playlist, making it easier to find and manage downloaded content based on specific playlists.
- System Tray Icon Mode: Minimize the application to the system tray for unobtrusive operation.
- Theme Customization: Personalize your experience with the ability to switch between dark and light themes. Additionally, customize the accent color to suit your preferences, creating a visually pleasing interface tailored to your style.
- Scaling Preferences: Users can scale the application interface from 100% to 200% (step 1%), adjusting the size of widgets and elements for better readability and usability.
- Auto Reload Failed Videos: Automatically attempts to reload a video up to 5 times if it fails to load. Users can enable or disable this feature, ensuring a more seamless downloading experience even with intermittent connectivity issues.
- Auto Retry Failed Downloads: Automatically retries a failed download up to 5 times. This feature ensures that temporary issues such as network interruptions do not prevent successful downloading, enhancing reliability and user experience.
- Multi-Language Support: Enjoy the application in your preferred language with support for multiple languages.
-
Currently Support Languages:
- English
- Chinese
-
Help us
improve current languages
andadd new languages
to this application.
-
help to improve or add new language
- English Lang
- Chinese Lang
- Programming Language:
- Python
- Frameworks/Libraries:
- tkinter
- customtkinter
- pytube
- pillow
- pyautogui
- pystray
- pyperclip
- Clone the repository to your local machine.
- Install the necessary dependencies (if any, run dependencies_installer.py).
- Run the application (
main.py
). - Paste the YouTube video/playlist URL into the designated field.
- Choose the download mode: video/playlist.
- Choose the desired format.
- Click the download button to initiate the download process.
- Monitor the download progress within the application.
- Enjoy your downloaded YouTube video!
project_folder/
│
├── data/
│ ├── languages/
│ │ ├── en.json
│ │ ├── zh.json
│ │ ├── ???.json
│ │ └── ???.json
│ ├── general.json
│ ├── appearance.json
│ └── info.json
│ └── languages.json
│
├── assets/
│ ├── main icon/
│ │ └── icon.ico
│ ├── ui images/
│ │ ├── info.png
│ │ └── default thumbnail.png
│ └── profile images/
│
├── temp/
│ └── thumbnails/
│
├── settings/
│ ├── __init__.py
│ ├── appearance_settings.py
│ └── general_settings.py
│
├── utils/
│ ├── __init__.py
│ ├── download_info_utility.py
│ ├── file_utility.py
│ ├── git_hub_utility.py
│ ├── gui_utils.py
│ ├── image_utility.py
│ ├── json_utility.py
│ ├── settings_validate_utility.py
│ └── value_convert_utility.py
│
├── widgets/
│ ├── __init__.py
│ ├── components/
│ │ ├── __init__.py
│ │ ├── thumbnail_button.py
│ │ ├── accent_color_button.py
│ │ ├── general_panel.py
│ │ ├── appearance_panel.py
│ │ ├── network_panel.py
│ │ ├── downloads_panel.py
│ │ ├── about_panel.py
│ │ ├── navigation_panel.py
│ │ └── contributor_profile_widget.py
│ ├── core_widgets/
│ │ ├── __init__.py
│ │ ├── alert_window.py
│ │ ├── context_menu.py
│ │ ├── setting_panel.py
│ │ └── tray_menu.py
│ ├── play_list/
│ │ ├── __init__.py
│ │ ├── play_list.py
│ │ ├── added_play_list.py
│ │ ├── downloading_play_list.py
│ │ └── downloaded_play_list.py
│ └── video/
│ ├── __init__.py
│ ├── video.py
│ ├── added_video.py
│ ├── downloading_video.py
│ └── downloaded_video.py
│
├── services/
│ ├── __init__.py
│ ├── theme_manager.py
│ ├── load_manager.py
│ ├── download_manager.py
│ └── loading_indicate_manager.py
│
├── app.py
│
└── main.py
Contributions to this project are welcome! Feel free to fork the repository, make improvements, and submit pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
This application is intended for personal use only. Please respect YouTube's terms of service and the rights of content creators when downloading videos.