explaingit

soimort/you-get

Analysis updated 2026-06-20

56,855PythonAudience · generalComplexity · 2/5Setup · easy

TLDR

A Python command-line tool that downloads videos, audio, and images from websites like YouTube and Bilibili by extracting the actual media stream URLs your browser uses.

Mindmap

mindmap
  root((you-get))
    What it does
      Downloads videos
      Downloads audio
      Downloads images
      Streams to media player
    Supported sites
      YouTube and Bilibili
      Niconico and Youku
      Dozens more
    Features
      Format and quality selection
      Cookie-based auth
      Direct media player pipe
    Tech stack
      Python 3
      FFmpeg for merging
      pip install
    Use cases
      Offline viewing
      Ad-free streaming
      Gallery archiving
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Download a YouTube or Bilibili video for offline viewing on a device without internet access.

USE CASE 2

Stream a web video directly into VLC or mpv without ads or buffering by piping the raw stream URL.

USE CASE 3

Save all images from a gallery or image-hosting page to your local drive with a single command.

USE CASE 4

Download a video in a specific resolution by first listing all available formats and then picking your preferred quality.

What is it built with?

PythonFFmpegRTMPDump

How does it compare?

soimort/you-getharry0703/moneyprinterturboultralytics/ultralytics
Stars56,85556,83156,813
LanguagePythonPythonPython
Setup difficultyeasyhardmoderate
Complexity2/53/53/5
Audiencegeneralvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

FFmpeg must be installed separately to merge video and audio streams, which are delivered as separate files on sites like YouTube.

In plain English

You-Get is a lightweight Python command-line utility for downloading media, videos, audio, and images, from websites when there is no other convenient way to save them locally. You paste a URL from a supported platform like YouTube, Niconico, Bilibili, Youku, or dozens of others, run you-get <url>, and the file is saved to your current directory. The problem it addresses is simple: many websites deliberately prevent you from saving content you are watching, even though nothing technically stops you from doing so. You-Get bypasses this by scraping the page's source, locating the actual media stream URLs that the browser would have fetched anyway, and downloading them directly. How it works is that you-get sends HTTP requests to the target page, parses the HTML and JavaScript to extract video or audio stream URLs, and then downloads those streams to disk. For videos that come in multiple quality levels, you can run you-get -i <url> first to see all available formats and resolutions before choosing which to download. Some sites require authentication (like downloading your own private videos), which you can pass via cookies or login options. You can also stream directly to a media player like mpv or VLC instead of saving to disk. You would use you-get when you want to keep a local copy of a video for offline viewing, when you want to avoid ads by playing the raw stream in a standalone media player, or when you want to bulk-download images from a gallery page. It also handles downloading arbitrary binary files from URLs. The tech stack is Python 3 and it optionally depends on FFmpeg for merging video and audio streams that are delivered separately (common on YouTube) and RTMPDump for flash-based streams. It is distributed via pip and also available via Homebrew on macOS.

Copy-paste prompts

Prompt 1
Show me how to use you-get to download a YouTube video at the highest available quality and merge the separate audio and video streams into one MP4 file.
Prompt 2
I want to download a video from a site that requires me to be logged in. How do I pass my browser cookies to you-get so it can authenticate?
Prompt 3
Write a shell script that reads a list of video URLs from a text file and uses you-get to download each one into a specific output folder.
Prompt 4
How do I use you-get to preview all available video formats and resolutions before choosing which one to download?

Frequently asked questions

What is you-get?

A Python command-line tool that downloads videos, audio, and images from websites like YouTube and Bilibili by extracting the actual media stream URLs your browser uses.

What language is you-get written in?

Mainly Python. The stack also includes Python, FFmpeg, RTMPDump.

How hard is you-get to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is you-get for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub soimort on gitmyhub

Verify against the repo before relying on details.