Skip to content

Repository files navigation

Video Downloader

A modern, cross-platform video downloader application with a beautiful Material Design interface. Built with Python and PyQt6.

Features

  • Modern Material Design UI with animations and hover effects
  • Support for YouTube and other video platforms
  • Video preview and thumbnail display
  • Multiple format and quality options
  • Download progress tracking
  • Download history with quick actions
  • Cross-platform support (Windows, macOS, Linux)

Download Pre-built Binaries

You can download the latest pre-built binaries from the Releases page:

  • Windows: Download VideoDownloader-Windows.zip, extract, and run VideoDownloader.exe
  • macOS: Download VideoDownloader-macOS.dmg, mount the image, and drag the app to Applications

Build from Source

Requirements

  • Python 3.9 or higher
  • FFmpeg (required for some video formats)

Installation

  1. Clone the repository:
git clone https://github.com/Tolstoyj/YoutubeVideoDownloaderPython.git
cd YoutubeVideoDownloaderPython
  1. Create a virtual environment (recommended):
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Install FFmpeg:
  • Windows: Download from FFmpeg website
  • macOS: brew install ffmpeg
  • Linux: sudo apt install ffmpeg (Ubuntu/Debian) or sudo dnf install ffmpeg (Fedora)

Running from Source

Run the application directly:

python video_downloader_gui.py

Building Executables

To build standalone executables:

python build.py

This will create:

  • On Windows: release/VideoDownloader-Windows.zip
  • On macOS: release/VideoDownloader-macOS.dmg

Usage

  1. Enter a video URL in the input field
  2. Click "Fetch Info" to load video information
  3. Select your preferred format from the table
  4. Click "Download" to start downloading
  5. The file will be saved to your Downloads/VideoDownloader folder

Known Issues

  1. SSL Warning: When using urllib3 v2 with LibreSSL on macOS, you may see a warning about OpenSSL compatibility. This doesn't affect functionality.

  2. YouTube Embed: Some browsers may show a warning about the Permissions-Policy header. This is a YouTube embed issue and doesn't affect functionality.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages