Video/Music Downloader Software

All in one video/ audio downloader with built in converter

Overview

The Universal Media Downloader is a desktop application built in Python using Tkinter for the GUI. It allows users to download audio and video from multiple platforms including YouTube, Spotify, SoundCloud, Bandcamp, and more. This project demonstrates integrating open-source tools (yt-dlp, spotdl, and ffmpeg) into a cohesive, user-friendly interface.

Key Features

App Screenshot

Audio Mode

In Audio Mode, the downloader extracts soundtracks from supported platforms using yt-dlp and ffmpeg. Users can select formats such as MP3 or WAV, with customizable quality levels (e.g., 128 kbps or 320 kbps). Metadata such as title, album, and artist is embedded automatically when available. For Spotify sources, spotdl ensures accurate tags and cover art are fetched before saving the final file.

App Screenshot

Video Mode

In Video Mode, the application downloads full videos in formats such as MP4 or MKV. yt-dlp manages the parsing and merging of video + audio streams, while ffmpeg handles post-processing. If a requested site provides only audio streams, the program generates a simple video with a black background and overlays the audio track, ensuring the output is still usable across video players. Resolution is selectable when multiple streams are available (e.g., 480p, 720p, 1080p).

App Screenshot

Technical Details

The app is structured around a Tkinter interface with tabs for queue management and logs. Downloads run on background threads to avoid blocking the GUI. yt-dlp handles parsing and downloading video/audio, while spotdl provides rich Spotify playlist and metadata integration. ffmpeg is invoked for audio extraction and video processing. The program also maintains a JSON file to track which domains are valid/invalid based on prior attempts, making it self-learning over time.

Challenges & Solutions