Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Implement Parallel Download for Playlists to Improve Speed #275

Open
avinashtare opened this issue Dec 30, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@avinashtare
Copy link

avinashtare commented Dec 30, 2024

Description

Currently, the ytDownloader tool downloads playlist videos sequentially, which can be slow, especially for large playlists. To enhance performance, I suggest adding support for parallel downloading of playlist videos. This would allow multiple videos to be downloaded simultaneously, significantly reducing the overall download time.

Proposed Changes:

  • Implement an option to enable parallel downloads for playlist videos.
  • Allow users to specify the number of simultaneous downloads (e.g., 2, 4, 8, or more).
  • Handle rate limits and errors effectively, such as by retrying failed downloads and limiting connections if necessary.
  • Include a safe default (e.g., 4 or 8 concurrent downloads) to prevent overwhelming the system or network.

Benefits:

  • Faster Playlist Downloads: Parallel downloading will significantly reduce the time needed to download large playlists.
  • Improved User Experience: Users with fast internet connections can take full advantage of their speed, enhancing the tool's overall usability.

Additional Notes:

Since the project is built with Node.js, consider using libraries like Promise.all(), async/await, or third-party packages like p-limit or async to implement parallel download functionality. Proper error handling should also be included to manage retries and gracefully handle failures without crashing the app.

@avinashtare avinashtare added the enhancement New feature or request label Dec 30, 2024
@aandrew-me
Copy link
Owner

The project uses yt-dlp to download videos, I don't know if it supports parallel downloads for playlists

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants