Skip to content

anirudhprmar/vidgrab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 vidgrab

A beautiful command-line tool to download videos from YouTube, YouTube Shorts, X/Twitter, Reddit, Pinterest, Instagram, TikTok, and 1000+ other sites.

╭──────────────────────────────────────────────╮
│   vidgrab   download videos from anywhere    │
╰──────────────────────────────────────────────╯

  ? Paste the video URL
  ? Save to folder
  ? Download mode       Video / Audio only (MP3)
  ? Quality             Best / 1080p / 720p / 480p / 360p

  ⬇  Downloading  [████████████░░░░░░░░] 61.3%
  ⬇  Merging video + audio…

  ✓  Download complete!

Requirements

Before installing vidgrab, make sure you have these on your system:

Requirement Version Purpose
Python 3.10+ Runtime
pipx any Clean global install
ffmpeg any Merge video + audio

Check if you have them

python3 --version
pipx --version
ffmpeg -version

Install missing requirements

Python — download from python.org or use your package manager.

pipx:

pip install pipx
pipx ensurepath

Then open a new terminal tab for the PATH change to take effect.

ffmpeg:

# macOS
brew install ffmpeg

# Ubuntu / Debian
sudo apt install ffmpeg

# Arch Linux
sudo pacman -S ffmpeg

# Windows (via Chocolatey)
choco install ffmpeg

Installation

1. Clone the repo

git clone https://github.com/yourusername/vidgrab.git
cd vidgrab

2. Install globally with pipx

pipx install .

That's it. vidgrab is now available system-wide.


Usage

Interactive mode (recommended)

Just run vidgrab with no arguments and follow the prompts:

vidgrab

You'll be guided through:

  • Pasting the video URL
  • Choosing an output folder
  • Selecting Video or Audio-only mode
  • Picking quality (Best / 1080p / 720p / 480p / 360p)
  • Optionally setting a custom filename

Direct download

Pass the URL directly to skip the prompts:

vidgrab https://youtu.be/abc123

With options

# Choose quality
vidgrab https://youtu.be/abc123 -q 720p

# Save to a specific folder
vidgrab https://youtu.be/abc123 -o ~/Videos

# Download audio only as MP3
vidgrab https://youtu.be/abc123 --audio

# Custom output filename
vidgrab https://youtu.be/abc123 -n my_video

# Combine options
vidgrab https://youtu.be/abc123 -q 1080p -o ~/Videos -n lecture

All flags

vidgrab [URL] [OPTIONS]

Arguments:
  URL                    Video URL to download (optional — omit for interactive mode)

Options:
  -o, --output  PATH     Output folder          (default: ./downloads)
  -q, --quality CHOICE   best, 1080p, 720p, 480p, 360p  (default: best)
  --audio                Download as MP3 audio only
  -n, --name    TEXT     Custom filename without extension
  --help                 Show this message and exit

Supported Platforms

Platform Example URL
YouTube https://youtube.com/watch?v=...
YouTube Shorts https://youtube.com/shorts/...
X / Twitter https://x.com/user/status/...
Reddit https://reddit.com/r/sub/comments/...
Pinterest https://pin.it/...
Instagram https://instagram.com/reel/...
TikTok https://tiktok.com/@user/video/...
+ 1000 more Powered by yt-dlp

Updating

When a new version is released:

# Pull latest changes
cd vidgrab
git pull

# Reinstall
pipx reinstall vidgrab

# Or force reinstall
pipx install . --force

To update yt-dlp (fixes broken downloads when sites change):

pipx runpip vidgrab install -U yt-dlp

Uninstalling

pipx uninstall vidgrab

Troubleshooting

command not found: vidgrab after install

pipx's bin directory isn't in your PATH yet. Run:

pipx ensurepath

Then open a new terminal tab and try again.


ModuleNotFoundError: No module named 'vidgrab'

Reinstall with the force flag:

cd vidgrab
pipx install . --force

Video downloads but has no audio

Make sure ffmpeg is installed:

ffmpeg -version

If not found, install it (see Requirements above). Then re-download — vidgrab uses ffmpeg to merge the video and audio streams.


Download fails for X/Twitter or Reddit

These platforms change their APIs frequently. Update yt-dlp to the latest version:

pipx runpip vidgrab install -U yt-dlp

How it works

vidgrab is a thin, pretty wrapper around yt-dlp — the gold standard open-source video downloader. It adds:

  • A guided interactive CLI built with Click + Rich
  • Live download progress with a visual progress bar
  • Smart format selection with HLS stream support (fixes missing audio on X/Twitter)
  • Automatic video + audio merging via ffmpeg

Contributing

PRs and issues are welcome. To run locally without installing:

git clone https://github.com/anirudhprmar/vidgrab.git
cd vidgrab
pip install click rich yt-dlp
python vidgrab.py

About

Download any video or audio in the format of choice from x, reddit, youtube shorts, youtube videos, insta reels, tiktok and many other platforms Powered by yt-dlp in best quality.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages