Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hyperfield/yt-channel-downloader
A Qt GUI app that makes it easy to download multiple videos at once from Youtube channels.
https://github.com/hyperfield/yt-channel-downloader
Last synced: 15 days ago
JSON representation
A Qt GUI app that makes it easy to download multiple videos at once from Youtube channels.
- Host: GitHub
- URL: https://github.com/hyperfield/yt-channel-downloader
- Owner: hyperfield
- License: mit
- Created: 2023-09-24T22:51:16.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-27T21:03:37.000Z (17 days ago)
- Last Synced: 2024-10-27T21:57:51.583Z (17 days ago)
- Language: Python
- Size: 1.85 MB
- Stars: 215
- Watchers: 4
- Forks: 16
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# YT Channel Downloader
[![Version](https://badgen.net/badge/version/0.4.2/green)](#) [![Donate via PayPal](https://badgen.net/badge/donate/PayPal/blue)](https://paypal.me/hyperfield) [![Donate via Liberapay](https://badgen.net/badge/donate/LibraPay/orange)](https://liberapay.com/hyperfield/donate)
**YT Channel Downloader** is an intuitive desktop application built to simplify the process of downloading YouTube media content. Leveraging the robustness of [yt-dlp](https://github.com/yt-dlp/yt-dlp), [scrapetube](https://github.com/dermasmid/scrapetube), and [pytube](https://github.com/pytube/pytube), and enriched with a modern PyQt 6 GUI, this tool offers a seamless experience to download your favorite content.
![YT Channel Downloader Screenshot (Windows)](screenshot_win.png)
![YT Channel Downloader Screenshot (Linux)](screenshot_lin.png)
![YT Channel Downloader Screenshot (MacOS)](screenshot_mac.png)---
- [Change Log](#change-log)
- [Binaries](#binaries)
- [Features](#features)
- [Installation](#installation)
- [MacOS or Linux](#macos-or-linux)
- [Windows](#windows)
- [How to Use](#how-to-use)
- [Contributing](#contributing)
- [License](#license)
- [Authors](#authors)
- [Donation](#donation)## Change Log
### What's New in version 0.4.2
- **Shorts support**: Downloading YouTube shorts now works.
- **Improved exception handling**: Imrpoved handling of network and download errors, timeouts.### What's New in version 0.4.1
- **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.### What's New in version 0.4.0
- **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**.### What's New in version 0.3.3
- **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.
### What's New in version 0.3.2
- **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.
### What's New in version 0.3.1
- **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.### What's New in version 0.3.0
- **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## Binaries
[Download the latest installer for Windows here.](https://github.com/hyperfield/yt-channel-downloader/releases)
## Features
- **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.### Coming Soon
- 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## Installation
### MacOS or Linux
`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
#### How to install `ffmpeg` on MacOS or Linux
You can download it from [FFmpeg's official site](https://ffmpeg.org/download.html) or install it from a repository according to your OS distribution.
On MacOS with [Homebew](https://brew.sh/):
brew install ffmpeg
On Debian/Ubuntu:
sudo apt update
sudo apt install ffmpegOn Fedora:
sudo dnf install ffmpeg
On Arch Linux:
sudo pacman -S ffmpeg
#### Install YT Channel Downloader
##### Clone the repository
git clone
##### Navigate into the directory
cd yt-channel-downloader
##### Optional: create a virtual environment
python3 -m venv .venv
##### Install requirements (optional: in a virtual environment)
pip install -r requirements.txt
##### Run the program
python3 main.py
or
chmod +x main.py
and then
./main.py
To deactivate the virtual environment after usage, type
deactivate
### Windows
`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.
#### How to install `ffmpeg` on Windows
1. **Download `ffmpeg`**:
- Visit the official [FFmpeg download page](https://ffmpeg.org/download.html).
- Alternatively, you can use this direct link: [Download FFmpeg for Windows](https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip).2. **Extract the files**:
- Extract the downloaded archive to a directory, such as `C:\ffmpeg`.3. **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:\ffmpeg\bin` to the list. Click "OK" to close all the windows.4. **Verify the installation**:
- Open Command Prompt (`CMD`).
- Run the following command:```sh
ffmpeg -version
```- You should see the version information for `ffmpeg` if it is correctly installed.
#### How to install YT Channel Downloader
First, you need `git`. Download the `git-scm` package for Windows from [git-scm.com](https://git-scm.com/downloads) and install it. Verify the installation in `cmd` or `powershell` with
git --version
You can also now launch `Git Bash` from Start Menu.
##### Clone the repository
git clone https://github.com/hyperfield/yt-channel-downloader.git
##### Navigate into the directory
cd yt-channel-downloader
##### Optional: Create a virtual environment
python -m venv .venv
##### Activate the virtual environment
.venv\Scripts\activate.bat
##### Install requirements
pip install -r requirements.txt
##### Run the program
python main.py
##### Deactivate the virtual environment after usage
.venv\Scripts\deactivate.bat
#### Graphical Interface Approach
1. **Download Git and Python installers** and install them.
2. **Download the repository** as a ZIP file from GitHub and extract it.
3. **Navigate to the directory** and find `requirements.txt`.
4. **Shift + Right-click** in the folder and choose "Open command window here" or "Open PowerShell window here".
5. Follow steps 3-6 from the Command Prompt or PowerShell instructions above.## How to Use
1. Open the application and input a YouTube channel URL.
2. Go to "File" -> "Settings" and set your download preferences.
3. Press the **Get list** button to list available videos.
4. Select the videos you wish to download.
5. Hit the **Download** button.## Contributing
Feel free to open issues and pull requests. I appreciate your feedback and contributions.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Authors
- **hyperfield** - *Initial work* and *Documentation* - [hyperfield](https://github.com/hyperfield)
See also the list of [contributors](https://github.com/hyperfield/yt-channel-downloader/contributors) who participated in this project.
## Donation
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](https://paypal.me/hyperfield)**
**Bitcoin**: bc1pglp2m26kqatgm6z8vtuhk66jd74ghv948wtyhtgtj6wh30nzz6csjajv00
**Ethereum**: 0x9CEf6B928BF9fFd894ca83db1B822820917ca89a