HN: Free program to download any YouTube videos in HD

5 hours ago 2

⚡️ High-Quality YouTube Video & Playlist Downloader 🎥

Demo. Download any YouTube videos and YouTube playlists

This python script not only downloads YouTube content in the highest available quality but also handles multiple formats, subtitles, and thumbnails efficiently. Perfect for content creators and educational purposes!

  • Python v3.7 or higher 🐍
  • FFmpeg installed on your system 🎬
  • YouTube URLs (single videos or playlists) that you have permission to download 📝
  1. Clone this repository:

    git clone https://github.com/pH-7/Download-Simply-Videos-From-YouTube.git && cd Download-Simply-Videos-From-YouTube
  2. Install the required Python packages:

    pip install -r requirements.txt
  3. Install FFmpeg:

    • macOS:
    • Ubuntu/Debian:
      sudo apt-get install ffmpeg
    • Windows: Download from the FFmpeg website, follow the instructions and add to PATH

To run the script, use the following command:

Enter a single YouTube URL when prompted:

Enter YouTube URL(s): https://www.youtube.com/watch?v=Hhb8ghB8lMg

For single videos, the script automatically optimizes the process by:

  • ✨ Skipping the concurrent downloads prompt (not needed for single videos)
  • 🎯 Using streamlined single-threaded processing
  • 📁 Direct file placement in your chosen directory

Multiple Videos Download 🆕

You can download multiple videos simultaneously by entering URLs in various formats. The script intelligently parses different input methods:

Method 1: Comma-Separated URLs

Enter YouTube URL(s): https://www.youtube.com/watch?v=Hhb8ghB8lMg, https://www.youtube.com/watch?v=RiCUh_V7Tjg, https://www.youtube.com/watch?v=HcioaU54p08

Method 2: Space-Separated URLs

Enter YouTube URL(s): https://www.youtube.com/watch?v=Hhb8ghB8lMg https://www.youtube.com/watch?v=RiCUh_V7Tjg https://www.youtube.com/watch?v=HcioaU54p08

You can combine commas and spaces in any way:

Enter YouTube URL(s): https://www.youtube.com/watch?v=Hhb8ghB8lMg, https://www.youtube.com/watch?v=RiCUh_V7Tjg https://www.youtube.com/watch?v=HcioaU54p08, https://www.youtube.com/watch?v=ghi789

Method 4: Multi-Line Input

For easier management of many URLs, press Enter without typing anything when prompted, then enter one URL per line:

Enter YouTube URL(s): [Press Enter here] 📝 Multi-line mode activated! 💡 Enter one URL per line, press Enter twice when finished: URL 1: https://www.youtube.com/watch?v=Hhb8ghB8lMg URL 2: https://www.youtube.com/watch?v=RiCUh_V7Tjg URL 3: https://www.youtube.com/watch?v=HcioaU54p08 URL 4: [Press Enter here to finish]

Benefits of Multi-Video Download:

  • Concurrent processing: Downloads happen simultaneously (configurable 1-5 workers)
  • 🛡️ Independent operations: One failed download won't stop others
  • 📊 Progress tracking: See individual download status and final summary
  • 🎯 Smart validation: Invalid URLs are automatically skipped with warnings
  • 🧠 Intelligent prompting: Concurrent options only appear when downloading multiple videos

To see what video formats are available for a specific video:

python download.py --list-formats

Concurrent Downloads (Multiple Videos Only)

When downloading multiple videos, the script will prompt you to choose concurrent workers (1-5, default: 3):

Number of concurrent downloads (1-5, default=3): 5

Note: This prompt only appears when downloading multiple videos. Single video downloads are automatically optimized for best performance.

The script will:

  1. Prompt for YouTube URL(s) (single video, playlist, or multiple URLs)
  2. Ask for an output directory (optional)
  3. Smart prompting: Ask for concurrent downloads only when downloading multiple videos
  4. Download content simultaneously in the highest available quality (for multiple videos)
  5. Organize content appropriately:
    • Single videos: Saved directly in the output directory
    • Playlists: Organized in a playlist-named folder with numbered files
    • Multiple videos: All saved to the same output directory
  6. Provide a detailed summary of successful and failed downloads

Features:

  • ✨ Support for single videos, playlists, and multiple URLs simultaneously
  • 🎥 High-quality video and audio downloads (up to 1080p)
  • 📁 Organized folder structure
  • Unlimited concurrent downloading, ideal for super-fast batch video downloads
  • 🔄 Format conversion to MP4
  • 🛡️ Error handling and recovery with detailed reporting
  • 📊 Download progress tracking and summary reports
  • 🎯 Smart URL parsing and validation
  • 🧠 Intelligent UX: Relevant prompts only when applicable

Download single video:

python download.py # Enter: https://www.youtube.com/watch?v=Hhb8ghB8lMg # Note: No concurrent downloads prompt - automatically optimized!

Download multiple videos (comma-separated):

python download.py # Enter: https://www.youtube.com/watch?v=Hhb8ghB8lMg, https://www.youtube.com/watch?v=RiCUh_V7Tjg # Concurrent downloads prompt will appear

Download multiple videos (space-separated):

python download.py # Enter: https://www.youtube.com/watch?v=Hhb8ghB8lMg https://www.youtube.com/watch?v=RiCUh_V7Tjg # Concurrent downloads prompt will appear

Download multiple videos (mixed format):

python download.py # Enter: url1, url2 url3, url4 url5 # Concurrent downloads prompt will appear

Download multiple videos (multi-line):

python download.py # Press Enter when prompted, then: # URL 1: https://www.youtube.com/watch?v=Hhb8ghB8lMg # URL 2: https://www.youtube.com/watch?v=RiCUh_V7Tjg # URL 3: [Press Enter to finish] # Concurrent downloads prompt will appear

Download with custom concurrent settings:

python download.py # Enter multiple URLs using any method above # Choose output directory: /Users/john/Videos # Choose concurrent downloads: 5 (only for multiple videos)

Debug format issues:

python download.py --list-formats # Enter problematic URL to see available formats

You can modify the following in the script:

  • Video format preferences (currently limited to 1080p max)
  • Maximum concurrent downloads (1-5 workers, automatically applied only for multiple videos)
  • Output directory structure
  • Post-processing options
  • Retry attempts for failed downloads

Pierre-Henry Soria

Pierre-Henry Soria. A passionate software AI engineer who loves automating content creation! 🚀 Enthusiast for YouTube, photography, AI, learning, and health! 😊 Find me at pH7.me 🚀

☕️ D you enjoy this project? Offer me a coffee (spoiler alert: I love almond flat white! 😋)

@phenrysay pH-7 YouTube Tech Videos

Contributions to this project are welcome. Please fork the repository and submit a pull request with your changes.

Download Simply Videos From YouTube is generously distributed under the MIT License 🎉 Enjoy!

This script is for educational purposes only. Please ensure you have the right to download any content and comply with YouTube's terms of service when using this script.

Read Entire Article