yt-grabber
v1.9.2
Published
Youtube Grabber - robust desktop application designed to retrieve multimedia from YouTube and YouTube Music services
Maintainers
Readme
YT Grabber is a robust desktop application designed to retrieve multimedia from YouTube, YouTube Music and other multimedia sites.
It provides responsive UI to manage your downloads and automation features that improve and accelerate download process.
It provides support for downloading:
- videos
- audio tracks
- playlists
- music albums
- full discographies
Various formats and quality options are available for both - audio and video.
Each download can be customized to your needs for easy workflow automation.
Table of Contents
- Table of Contents
- Features
- Screenshots
- Usage
- Development
- Running
- Packaging
- Testing
- Debugging
- License
- Legal Disclaimer
- Support Disclaimer
Features
Support for most major multimedia sites (full list is available here)
Download video, audio, playlists, songs, albums, singles and complete artist discographies
Multiple output formats (mp3, m4a, flac, wav, mp4, mkv, mov, avi, mpeg, gif)
Customizable audio and video quality
Cutting video and audio (multiple output parts)
Batch multimedia download
Autodetecting download type
Metadata (tags) embedding
Filterable artist discography downloads by release type (album, single, ep) or release year
Generating animated GIF's from videos (with embedding customizable top and/or bottom text)
Configurable output
Multiple language support (English, German, Polish out of the box)
Light/Dark theme
Responsive and clean UI
Screenshots
Main window
Displaying multimedia info
Downloading multimedia
Settings
Usage
Download and run latest release installer from here.
Development
To build yt-grabber follow these steps:
- Clone this repository
- Install dependencies using
npm installoryarn installcommand - If using
yarnwith Visual Studio Code also runyarn dlx @yarnpkg/sdks vscode - Run
npm buildoryarn buildcommand to create development build - Run
npm build:prodoryarn build:prodcommand to create production build.
Running
Run npm start or yarn start to run the app for development.
This will start webpack development server that will watch for changes to source code and reload the application automatically.
Packaging
To prepare release application package run npm dist or yarn dist command.
Testing
There are two types of tests avalable:
- unit tests (using Jest)
- end2end tests (using Playwright)
To execute unit tests run npm test or yarn test command (unit tests are also run when packaging the applciation).
To execute end to end tests on a development build run npm e2e:dev or yarn e2e:dev command.
To execute end to end tests on a production build run npm e2e:prod or yarn e2e:prod command.
Debugging
Logs are written to init.log and application.log files.
By default only errors are logged.
To get more detailed logs run the application with --debug-mode arguments.
License
This project is licensed under the MIT License.
Legal Disclaimer
All music files downloaded through this software must be legally owned and purchased by the user. By downloading music via this software, you represent that you have purchased and fully own the rights to any downloaded content or an active subscription to YouTube Music. Downloading or distributing pirated or illegal music copies is strictly prohibited. I claim no ownership rights to any downloaded music files - all such rights remain with the content owner. I accept no liability for the illegal use of any files downloaded through this software.
Support Disclaimer
In the era of greedy services like Spotify, omnipresent AI slop and other bs it is very difficult, especially for younger, less recognizable creators to make money off of their creations. There are a lot of talented people who struggle with that (and their number is growing). If you like certain artists and value their content please show them your support. Thank You!
