Coder Social home page Coder Social logo

sonothamin / yt-dlp-playlist-parallelizer Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 320 KB

A bash script for downloading multiple videos from a YouTube playlist simultaneously.

License: GNU General Public License v3.0

Shell 100.00%
ffmpeg youtube-playlist-downloader yt-dlp ytdl ytdlp

yt-dlp-playlist-parallelizer's Introduction

Banner

yt-dlp-playlist-parallelizer

yt-dlp Playlist Parallelizer is a shell script designed to speed up the process of downloading videos from YouTube playlists. The script utilizes the job parallelization feature of the shell and allows users to download multiple videos from a playlist simultaneously with options for custom settings and options.

Installation

To install the yt-parallel script for parallelizing YouTube playlist downloads, you can follow these steps:

Open a terminal in your system, or if you're using Termux, launch the Termux app. Run the following command on your terminal to download the yt-parallel script from it's GitHub repository and make it executable.

For Desktop Linux:

sudo curl -s https://raw.githubusercontent.com/sonothamin/yt-dlp-playlist-parallelizer/main/yt-dlp-playlist-parallelizer >> /bin/yt-parallel && sudo chmod +x $PREFIX/bin/yt-parallel

For Termux:

curl -o $PREFIX/bin/yt-parallel -L https://raw.githubusercontent.com/sonothamin/yt-dlp-playlist-parallelizer/main/yt-dlp-playlist-parallelizer && chmod +x $PREFIX/bin/yt-parallel

And that's it! With these simple steps, you can install and use the yt-parallel script to download YouTube playlists fast and quick.

How it works

This script is used for parallelization of yt-dlp downloads of a playlist. The script presents a menu to the user to select from several options, including downloading a playlist, selecting settings, and obtaining help. The user can also choose to specify the external downloader, set the output folder, and toggle yt-dlp options.

The download function prompts the user for the playlist URL, sets the output folder, and allows the user to select the number of sequential downloads and download options. The parse_script function changes the format of the URLs to include the specified download options and the number of threads, creates a script, Playlist-download.sh, and runs it.

The settings function presents a menu for the user to select options for external downloader, output folder, yt-dlp options, and updating yt-dlp.

The script uses the dialog command to create interactive menus for the user. The sed command is used to modify the URLs to include the specified download options and number of threads. Finally, the chmod command changes the permissions of the script to make it executable.

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

Contributing

Contributions are always welcome! Whether it's bug reports, feature requests, documentation updates, or code improvements, feel free to open an issue or a pull request on the repo, and I'll be happy to review and merge your changes. Together, we can make the project even better!

License

This software is licensed under the GNU General Public License (GPL) version 3.0. This license grants you the freedom to use, modify, and distribute the software as long as you adhere to the terms and conditions of the license. You are also required to distribute the source code of any modifications you make to the software under the same license terms. The GPL also includes provisions to protect users' privacy, prevent patent aggression, and ensure that any Digital Restrictions Management (DRM) is removable. For more information about the GPL, please see the GNU GPL v3 LICENSE file included in this repository or visit the GNU website.

yt-dlp-playlist-parallelizer's People

Contributors

sonothamin avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.