Skip to content

eriknovikov/vidder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What's Vidder?

Vidder is a video downloading CLI, written in Go. Download any video or playlist with a simple command — no GUI, no restrictions, no nonsense.


Features

  • Any Video, Any Playlist: Download from YouTube, Vimeo, and 1500+ sites that yt-dlp supports.
  • Granular Control: Choose resolution (480p, 720p, 1080p, best), format (mkv, mp4), whether to embed chapters, and more.
  • Audio Mode: Extract audio only as mp3, m4a, aac, or flac with quality options.
  • Batch Downloads: Feed it a text file with URLs and it downloads concurrently — up to 5× your CPU cores.
  • Progress Tracking: See exactly how many downloads completed and how many failed.
  • Shell Completion: Bash, Zsh, and Fish completions available.
  • Configurable: Set your default download directory once with vidder config set-dir.

Requirements

  1. A computer (Windows, Linux, or Mac)
  2. yt-dlp installed
  3. Basic terminal knowledge

Installation

0. Install yt-dlp

yt-dlp's GitHub

1. Install Vidder

Using go install (recommended)

go install github.com/E-nkv/vidder@latest

Run it from anywhere:

vidder "VIDEO_URL"
vidder --help

From source

git clone https://github.com/E-nkv/vidder.git
cd vidder
go build -o ~/vidder .

Usage

Basic

vidder https://youtube.com/watch?v=...
vidder "https://youtube.com/playlist?list=..."

Options

Description Flag Example
Custom filename --title | -t vidder <URL> -t "My Video"
Audio only --audio vidder <URL> --audio
Audio format --format vidder <URL> --audio --format m4a
Audio quality (0 best, 10 worst) --aq vidder <URL> --audio --aq 2
Video quality --quality vidder <URL> --quality 720
Skip chapters --no-chapters vidder <URL> --no-chapters
Playlist: flat output (no subfolder) --spread vidder <URL> --spread
Verbose/debug output -v | --verbose vidder <URL> -v
Batch download -f <file.txt> vidder -f urls.txt

Batch Downloads

Create a file with one URL per line:

# urls.txt
https://youtube.com/watch?v=example1
https://youtube.com/watch?v=example2
https://youtube.com/playlist?list=...

Then run:

vidder -f urls.txt

Downloads happen concurrently. You'll see progress as each completes.


Configuration

Vidder stores config in ~/.vidder/config.json.

vidder config set-dir ~/Videos    # Set default download directory
vidder config get-dir             # Show current directory
vidder config view                # Show full config

The default directory is your system's Downloads folder.


Shell Completion

Bash, Zsh, and Fish completions are included.

Bash

# Source directly
source /path/to/vidder.bash

# Or install system-wide
sudo cp vidder.bash /etc/bash_completion.d/

Zsh

# Copy to your completions dir
mkdir -p ~/.zsh/completion
cp _vidder ~/.zsh/completion/

# Add to ~/.zshrc
echo 'fpath=(~/.zsh/completion $fpath)' >> ~/.zshrc
echo 'autoload -Uz compinit && compinit' >> ~/.zshrc

Fish

# Copy to fish completions dir
cp vidder.fish ~/.config/fish/completions/

Credits

This project uses yt-dlp — credits to them!

About

powerful & easy to use, CLI to download videos, music, and playlists

Resources

Stars

Watchers

Forks

Contributors