Skip to content

MotionPeak/VideoGrab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VideoGrab icon

VideoGrab

A tiny, beautiful macOS app that downloads YouTube and Instagram videos.
Paste a link, pick a format, done.


Features

  • Paste & go — drop in a YouTube or Instagram link and download.
  • MP4 or MP3 — best-quality video, or audio-only extraction.
  • Highest quality — automatically grabs the best video + audio streams and merges them.
  • Self-installing — on first launch it checks for its dependencies and, with your permission, downloads them privately into the app's own folder. No Homebrew required.
  • Live progress — real-time progress bar and a "Show in Finder" shortcut when done.
  • Saves to ~/Downloads — no setup, no preferences to dig through.

Download

Open the .dmg and drag VideoGrab to your Applications folder. On first launch, right-click the app → Open to get past Gatekeeper (the build is unsigned).

All versions are on the Releases page. Prefer to build it yourself? See Build from source below.

Requirements

  • macOS 13 (Ventura) or later
  • Apple Silicon or Intel

VideoGrab uses two open-source tools under the hood:

Tool Purpose
yt-dlp Downloads videos from YouTube and Instagram
ffmpeg Converts to MP3 and merges high-quality video

If they're already installed (e.g. via Homebrew), VideoGrab finds and uses them. Otherwise it offers to download them on first launch into ~/Library/Application Support/VideoGrab/ — nothing is installed system-wide.

Build from source

Option A — Xcode

open VideoGrab.xcodeproj

Then press ⌘R. The project is ad-hoc signed (Sign to Run Locally), so no Apple Developer account is needed.

Option B — command line

./build.sh
open VideoGrab.app

This compiles the app, generates the icon, and assembles VideoGrab.app.

Project layout

VideoGrab/
├── Sources/VideoGrab/
│   ├── VideoGrab.swift            # The entire app (UI + logic)
│   └── Assets.xcassets/           # App icon catalog
├── VideoGrab.xcodeproj/           # Xcode project
├── tools/
│   ├── generate_icon.swift        # Core Graphics icon renderer
│   └── make_icons.sh              # Builds .icns + asset catalog
├── build.sh                       # Command-line build script
└── VideoGrab.icns                 # App icon

How it works

VideoGrab is a SwiftUI front-end around yt-dlp. It launches yt-dlp as a subprocess, parses its progress output line-by-line, and renders it in the UI.

  • MP4: bestvideo+bestaudio merged with ffmpeg into a single .mp4.
  • MP3: audio extracted at the highest quality.

Troubleshooting

A YouTube change occasionally breaks downloads. The fix is usually to update yt-dlp:

~/Library/Application\ Support/VideoGrab/bin/yt-dlp -U

(or brew upgrade yt-dlp if you installed it with Homebrew).

Notes & credits

  • Built with SwiftUI. No third-party Swift dependencies.
  • yt-dlp is released under the Unlicense; ffmpeg under the LGPL/GPL.
  • Private or login-only Instagram content may require cookies — out of scope for this minimal version.

About

A tiny, beautiful macOS app to download YouTube and Instagram videos — paste a link, pick MP4 or MP3, done.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors