Skip to content

Latest commit

Β 

History

95 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Video Downloader

Release Downloads Screenshots License Windows Download

A simple and fast Windows desktop application for downloading videos and audio from supported websites.

πŸͺŸ Windows 10+ only β€” macOS is not currently supported.

Features

  • πŸŽ₯ Download videos in up to 4K:
    • 2160p (4K)
    • 1440p (2K)
    • 1080p
    • 720p
  • 🎡 Download video audio as MP3
  • πŸ“ Choose your download location β€” select any folder from the sidebar; the app remembers it between sessions
  • πŸ“₯ Download queue β€” add multiple URLs with different quality/format settings and download them sequentially
  • πŸŒ™ Dark mode
  • πŸ”” System notifications with notification preview
  • 🎯 Automatically selects the best available format according to the selected quality
  • πŸ”„ Automatically keeps yt-dlp up to date

Built with yt-dlp and FFmpeg.


Installation

For Users

1. Download the Installer

Click the button below to download the latest version of VideoDownloaderSetup.exe.

CLICK HERE TO DOWNLOAD

To view previous releases and older versions, visit the Releases page.

2. Run the Installer

Video Downloader includes FFmpeg, which is used when video and audio streams need to be merged.

No additional FFmpeg installation is required when using the setup installer.

⚠️ Windows SmartScreen

Windows may display a "Windows protected your PC" warning because the installer is not digitally signed.

If you downloaded the installer from this repository's official Releases page:

  1. Click More info
  2. Click Run anyway

ℹ️ About the yt-dlp Download

On first launch, Video Downloader downloads the official standalone yt-dlp.exe binary.

The binary is downloaded directly from the official yt-dlp nightly releases.

Because the binary is downloaded at runtime, some antivirus software may inspect it when it is first downloaded.


For Developers

This section is for developers who want to clone the repository, run the project from source, or build the application themselves.

Requirements

  • Windows 10+
  • Python 3.x
  • Internet connection
  • A Python virtual environment

Clone the Repository

git clone https://github.com/AlperSrgn/VideoDownloader.git

Create and activate a virtual environment using your preferred method.

Install FFmpeg Dependency

Install imageio-ffmpeg from the virtual environment:

pip install imageio-ffmpeg

If the project cannot find the FFmpeg binary because your environment uses a different installation path, update the get_ffmpeg_path() function in utils.py.

The current project expects the FFmpeg binary under a path similar to:

.venv\Lib\site-packages\imageio_ffmpeg\binaries\ffmpeg-win-x86_64-v7.1.exe

yt-dlp

Video Downloader uses the official standalone yt-dlp.exe binary instead of the yt-dlp Python package.

On first launch, the application downloads yt-dlp.exe to:

%LOCALAPPDATA%\VideoDownloader

The application checks for updates once per app run.

Therefore, there is no separate pip install step for yt-dlp.

Internet access is required on first launch so the application can download the standalone yt-dlp binary.


Build the Executable

The project is built with PyInstaller.

1. Install PyInstaller

Make sure your project's virtual environment is activated, then run:

pip install pyinstaller

2. Build

Run the following command:

pyinstaller --onefile --noconsole --add-binary "C:\path\to\.venv\Lib\site-packages\imageio_ffmpeg\binaries\ffmpeg-win-x86_64-v7.1.exe;." --add-data "icons\notificationIcon.ico;icons" --add-data "icons\previewIcon.ico;icons" --add-data "icons\appIcon.ico;icons" --hidden-import=plyer.platforms.win.notification main.py

🚨 Important

The FFmpeg path in the command is a placeholder. Replace it with the correct path from your local virtual environment before running the command.


Project Structure

File Description
main.py UI layer β€” builds and manages the interface, including the download queue
downloader.py Download logic β€” runs yt-dlp.exe as a subprocess, handles format selection, FFmpeg merging, and audio downloads
error_classifier.py Converts raw yt-dlp / FFmpeg errors and process results into clear, localized, user-facing messages
ytdlp_manager.py Manages the standalone yt-dlp.exe binary, including first-run download and per-session updates
utils.py General file helpers β€” filename sanitization, FFmpeg path handling, icon copying, and URL cleaning
settings.py Configuration β€” reads and writes application settings to AppData\Local\VideoDownloader\config.json
languages.py Localization strings for Turkish and English

Screenshots

Light mode

Cancel download

Dark mode

Sidebar


Notes

  • The application requires internet access to download the standalone yt-dlp binary when it is not already available.
  • yt-dlp is updated through its nightly channel to receive fixes for website-side changes more quickly.
  • Download and format support ultimately depends on the current capabilities of yt-dlp and the target website.
  • The installer already includes FFmpeg, so end users do not need to install FFmpeg separately.

About

A simple and lightweight video downloader for Windows, built with yt-dlp and FFmpeg.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages