- Shell 100%
|
|
||
|---|---|---|
| Install-YT-DLP-Easy.sh | ||
| Readme.md | ||
| YT-DLP-Easy.sh | ||
YT-DLP-Easy
YT-DLP-Easy is a simple frontend wrapper for the powerful yt-dlp CLI tool.
It’s built for people who don’t want to remember a bunch of flags or deal with complicated commands every time they download something.
The goal is straightforward: make downloading videos (or audio) quick and easy.
How it works
Instead of typing long yt-dlp commands, you run a single script. You can provide a single URL, multiple URLs at once, or even a path to a .txt file containing a list of links.
./YT-DLP-Easy.sh [URL/FILE] [OPTIONS]
The script handles formatting, quality selection, metadata, and output organization for you.
Arguments
<URL>: A single YouTube link.<URL1> <URL2> ...: Multiple links passed in one command.<path_to_file.txt>: A text file containing one URL per line (comments starting with#are ignored).
Examples
Download a single video in Video format with metadata:
./YT-DLP-Easy.sh https://www.youtube.com/watch?v=dQw4w9WgXcQ -f video -medata
Batch download multiple specific links at once:
./YT-DLP-Easy.sh https://www.youtube.com/watch?v=djV11Xbc914 https://www.youtube.com/watch?v=dQw4w9WgXcQ -f audio
Download an entire list of links from a text file:
./YT-DLP-Easy.sh /home/X27/links.txt -f video-720 -medata
Change the download directory for a batch process:
./YT-DLP-Easy.sh https://www.youtube.com/watch?v=dQw4w9WgXcQ -dir /mnt/ExternalDrive -f audio
Update yt-dlp, ffmpeg, and the script itself (inside the container):
yt-dlp-easy update
Options
-
-f videoDownloads the BEST quality video and remuxes to MP4. -
-f video-1080/-f video-720Downloads video capped at 1080p or 720p. -
-f x264Downloads the old legacy format of the video in h264. -
-f audioExtracts audio from the video and converts it to high-quality MP3. -
-medata/-metadataEmbeds metadata (title, artist, etc.) and includes the thumbnail as cover art. -
-dir <path>Change the download location. Creates aYT-DLP-Easy-Downloadsfolder inside the path you provide. -
-helpShow this help message. -
updateUpdatesyt-dlp,ffmpeg,yt-dlp-ejs, andYT-DLP-Easy.shitself inside the container to their latest versions. Run it asyt-dlp-easy updatefrom the host.
Features
- Batch Processing: Support for multiple URLs and
.txtfile imports. - Smart Playlist Detection: Automatically detects playlists and organizes them into dedicated folders.
- Automatic Quality Selection: Automatically selects the highest available quality unless specified otherwise.
- Media Conversion: Handles MP4 remuxing for video and MP3 conversion for audio.
- Metadata Integration: Easily embeds thumbnails and metadata for a clean library.
- Clean Organization: Keeps playlist order intact and organizes files logically.
Installation & Setup
this project provides a simple setup script that uses Distrobox to create a archlinux container with the dependicies inside the container with the command exposed to the host, you can use the script on most Distros but using it inside of Arch container sandboxes it and provides the best experience, use the provided installation script: Install-YT-DLP-Easy.sh.
The installer works out of the box on Fedora, Debian/Ubuntu and Arch based hosts (and openSUSE). If distrobox or a container runtime (podman) is missing, it installs them automatically using your system's package manager (dnf, apt or pacman), falling back to the official rootless distrobox installer when needed.
What it does:
The installer automates the entire setup process for an Arch Linux-based Distrobox container. It performs the following steps:
- Host Prerequisites: Detects your distro's package manager and installs
distrobox+podmanautomatically if they aren't already present. - Container Management: Checks if an Arch Linux container (
arch-yt-dlp) exists. If not, it offers to create one usingghcr.io/archlinux/archlinux:latest. - Package Installation: Inside the container, it uses
pacmanto install all necessary dependencies:yt-dlp,yt-dlp-ejs,ffmpeg, andwget. - Script Deployment: It downloads the latest version of
YT-DLP-Easy.shdirectly from the official repository into/usr/local/bin/inside the container. - Host Integration (The Magic): It creates a lightweight wrapper command called
yt-dlp-easyin your host's~/.local/bin/, and automatically adds that directory to yourPATH(via.bashrc/.zshrc/.profile/fish config) so the command is available in new terminals without any manual steps.
How it works:
The command yt-dlp-easy uses distrobox enter to jump into the container. It specifically handles directory mapping so that when you run the command from any folder on your host, the downloads are created in your host's current working directory, not inside the container's system folders.
Usage:
Simply run the installer with:
./Install-YT-DLP-Easy.sh
Requirements
yt-dlpinstalled and available in your PATHffmpeg(required for audio conversion and metadata embedding)- Bash-compatible environment
Why this exists
yt-dlp is extremely powerful, but not always convenient for quick use or repetitive batch tasks. This script removes friction and gives you a consistent, simple interface without sacrificing useful features.
Warning
I am in no way responsible for how you use this project. Any consequences that result from its use are entirely your responsibility.
License
Use it, modify it, break it, improve it. Up to you.