YT Channel Downloader is an intuitive desktop application built to simplify the process of downloading YouTube media content. Leveraging the robustness of yt-dlp, scrapetube, and pytube, and enriched with a modern PyQt 6 GUI, this tool offers a seamless experience to download your favorite content.
Change Log
Binaries
Features
Installation
MacOS or Linux
Windows
How to Use
Contributing
License
Authors
Donation
Fetch progress dialog: Added an indefinite progress bar dialog window that displays the elapsed time in seconds and has a Cancel button.
Some refactoring: Added numerous Python docstrings, introduced a new class, and reformatted the code for improved cleanliness and readability.
Shorts support: Downloading YouTube shorts now works.
Improved exception handling: Improved handling of network and download errors, timeouts.
Bug Fixes: Due to some updates on YouTube, certain functionality didn't work. The "Any" format selection didn't work. These have been fixed.
Improved exception handling: Some parts of the code needed exception handling.
Improved interface: Better and bigger fonts and buttons.
Added the "Donate" item to the Help menu: In the hope that some will support the author, which motivates faster improvement of the app.
YouTube Login and Logout: You can now log in to your YouTube account directly within the application to download private or age-restricted content. You can log out of your YouTube account with a single click. This action clears the stored cookies and resets the session. The cookies are stored within the app's config directory.
Minor Improvements and Bug Fixes.
Improved default audio track downloading: the program will now always attempt to download the best available quality audio track. Previously, the associated audio track was not always downloaded, for 4k quality videos in particular.
Fixed the handling of video resolutions and formats specified in Settings: the program will correctly find the closest available video resolution and format based on user settings, for horizontal and vertical videos.
Limiting of simultaneous download threads: this improves the responsiveness of the application and optimizes its handling of large download lists.
Improved file name sanitation method: this prevents some completed downloads not being marked as such.
Download playlists, in addition to channels or single videos
Select All check box: allows to select all non-downloaded videos in a list at once
Bug fixes: improved URL validation, partial download completion
Interface improvements
Other improvements: code cleanup, updated README
Download the latest installer for Windows here.
Fetch Video Listings: Just input a YouTube video, playlist or channel URL and get a list of the videos.
Selective Download: Choose exactly which videos you want to download, or select all at once.
Quality Control: Specify video/audio quality or opt to download only the associated audio track.
Download Marking: Keeps track of downloaded files for easier management.
Playlist Downloads: Download all or some videos from a playlist URL.
Channel Downloads: Download all or some videos from a channel URL.
Single Video or Audio Downloads: Type in a single video link and download it.
Private and Age-Restricted Videos: Download media on behalf of your Youtube account.
Download shorts
Search field to search within a retrieved list of videos
Enhanced download progress bar
Download history tracking
Support for other audio and video platforms
Functionality improvements
Interface improvements
ffmpeg
is needed for the app to work correctly, so make sure you have it on your system. Check in your terminal emulator if ffmpeg
is installed:
ffmpeg -version
ffmpeg
on MacOS or LinuxYou can download it from FFmpeg's official site or install it from a repository according to your OS distribution.
On MacOS with Homebew:
brew install ffmpeg
On Debian/Ubuntu:
sudo apt update sudo apt install ffmpeg
On Fedora:
sudo dnf install ffmpeg
On Arch Linux:
sudo pacman -S ffmpeg
git clone
cd yt-channel-downloader
python3 -m venv .venv
.venv/Scripts/activate
pip install -r requirements.txt
python3 main.py
or
chmod +x main.py
and then
./main.py
To deactivate the virtual environment after usage, type
deactivate
ffmpeg
is needed for the app to work correctly, so make sure you have it on your system. Open the command line (CMD
) and type
ffmpeg -version
to check if it's on your system.
ffmpeg
on WindowsDownload ffmpeg
:
Visit the official FFmpeg download page.
Alternatively, you can use this direct link: Download FFmpeg for Windows.
Extract the files:
Extract the downloaded archive to a directory, such as C:ffmpeg
.
Add ffmpeg
to your system PATH:
Open the Start menu and search for "Environment Variables".
Select "Edit the system environment variables".
In the "System Properties" window, click on the "Environment Variables" button.
Under "System variables", find the Path
variable and select it. Then click "Edit".
Click "New" and add C:ffmpegbin
to the list. Click "OK" to close all the windows.
Verify the installation:
Open Command Prompt (CMD
).
Run the following command:
ffmpeg -version
You should see the version information for ffmpeg
if it is correctly installed.
First, you need git
. Download the git-scm
package for Windows from git-scm.com and install it. Verify the installation in cmd
or powershell
with
git --version
You can also now launch Git Bash
from Start Menu.
git clone https://github.com/hyperfield/yt-channel-downloader.git
cd yt-channel-downloader
python -m venv .venv
.venvScriptsactivate.bat
pip install -r requirements.txt
python main.py
.venvScriptsdeactivate.bat
Download Git and Python installers and install them.
Download the repository as a ZIP file from GitHub and extract it.
Navigate to the directory and find requirements.txt
.
Shift + Right-click in the folder and choose "Open command window here" or "Open PowerShell window here".
Follow steps 3-6 from the Command Prompt or PowerShell instructions above.
Open the application and input a YouTube channel URL.
Go to "File" -> "Settings" and set your download preferences.
Press the Get list button to list available videos.
Select the videos you wish to download.
Hit the Download button.
Feel free to open issues and pull requests. I appreciate your feedback and contributions.
This project is licensed under the MIT License. See the LICENSE file for details.
hyperfield - Initial work and Documentation - hyperfield
See also the list of contributors who participated in this project.
If you like this application and feel like you can donate a little bit to support the author and speed up the introduction of new exciting features to the program, I'll appreciate your donation to my PayPal, Bitcoin or Ethereum account. :)
PayPal
Bitcoin: bc1pglp2m26kqatgm6z8vtuhk66jd74ghv948wtyhtgtj6wh30nzz6csjajv00
Ethereum: 0x9CEf6B928BF9fFd894ca83db1B822820917ca89a