Skip to main content

MegaDownloader

A powerful Java Swing desktop application for downloading videos and audio from YouTube with real-time progress tracking

Overview

MegaDownloader is a feature-rich desktop application that provides a modern, user-friendly interface for downloading media from YouTube. Built with Java Swing and powered by yt-dlp, it combines robust downloading capabilities with an elegant dark-themed UI.

Quick Start

Get up and running in minutes with our step-by-step guide

Installation

Set up MegaDownloader and configure prerequisites

User Guide

Learn how to download videos and extract audio

API Reference

Explore the technical architecture and API

Key Features

Video Downloads

Download videos in their original quality and format from YouTube

Audio Extraction

Extract audio as MP3 files using FFmpeg integration

Progress Tracking

Monitor downloads with real-time progress bars

User Authentication

Secure login system with API integration

Media Management

Browse, play, and manage your downloaded files

Dark Theme

Modern UI with FlatLaf Darcula theme

Speed Control

Configure download speed limits with dual controls

Playlist Support

Auto-generate M3U playlists for downloads

Customizable

Configure paths, directories, and preferences

What Makes MegaDownloader Special?

MegaDownloader automatically detects FFmpeg in your yt-dlp directory and falls back to manual configuration if needed. This ensures audio extraction works seamlessly without complex setup.
Built with FlatLaf Darcula theme, the application features a sleek dark interface with custom window dragging, hand cursors on interactive elements, and smooth animations.
Not just a downloader — MegaDownloader includes a full media management panel where you can browse, search, filter, and play your downloaded files. Right-click context menus provide quick access to common actions.
When downloading playlists, MegaDownloader creates M3U files with intelligent file type filtering — audio-only downloads exclude video files, and vice versa.

System Requirements

MegaDownloader requires Java 24 or higher and Maven for building the project.

Required External Tools

  • yt-dlp: Command-line program to download videos from YouTube
  • FFmpeg: Multimedia framework required for audio extraction
Place FFmpeg executables (ffmpeg.exe and ffprobe.exe) in the same directory as yt-dlp.exe for automatic detection.

Getting Started

Ready to start downloading? Follow these steps:
1

Install Prerequisites

Download and install Java 24+, Maven, yt-dlp, and FFmpegView Installation Guide →
2

Build the Application

Clone the repository and build with Maven
mvn clean compile
3

Configure Settings

On first launch, configure the yt-dlp path and download directoryLearn More →
4

Start Downloading

Paste a YouTube URL and click download!User Guide →

Project Information

Author: Borja Almazán
Course: Desenvolupament d’Interfícies
Assignment: Entrega 1.1
This project was developed as part of an interface design course, demonstrating modern Java Swing development practices and integration with external command-line tools.

Next Steps

Installation Guide

Set up all prerequisites and build the application

Quick Start Tutorial

Download your first video in under 5 minutes

Build docs developers (and LLMs) love