You-Get: The Ultimate Command-Line Utility for Downloading Media Content
Join our daily and weekly newsletters for the latest updates and exclusive content on industry-leading AI, InfoSec coverage. Learn More
Introduction to You-Get
You-Get is a powerful command-line utility designed for downloading a wide range of media content, including videos, audios, and images from the internet. Emerging from the growing need for efficient tools in the ever-expanding digital landscape, You-Get offers users the ability to bypass restrictions that often hinder the straightforward saving of multimedia files. The importance of such a tool cannot be overstated, particularly as online platforms increasingly place limitations on content accessibility.
In practical terms, You-Get operates on the principle of retrieving media by parsing web pages, thereby identifying and downloading the desired files directly. This approach not only enhances user control but also aligns with the values of open-source development. As an open-source project, You-Get is freely accessible to anyone, embodying the ethos of free software that encourages modification and redistribution. Users benefit from ongoing community contributions that keep You-Get up-to-date with new features and compatibility with various platforms.
The necessity for tools like You-Get is underscored by the complexity and restrictions present in many modern websites. Various streaming services implement measures to protect their content, which can leave users feeling frustrated when attempting to save their favorite media. With You-Get, these challenges can be effectively addressed, providing an efficient solution for downloading content for offline viewing or listening. This utility stands as a testament to the ongoing development of technological solutions aimed at preserving user freedom and enhancing the online experience.
In conclusion, You-Get not only serves a practical purpose but also reinforces the principles of accessibility and usability in today’s digital age.
What you-get
can do for you:
- Download videos / audios from popular websites such as YouTube, Youku, Niconico, and a bunch more. (See the full list of supported sites)
- Stream an online video in your media player. No web browser, no more ads.
- Download images (of interest) by scraping a web page.
- Download arbitrary non-HTML contents, i.e., binary files.
Interested? Install it now and get started by examples.
Why Use You-Get?
And here’s why you might want to use it:
- You enjoyed something on the Internet, and just want to download them for your own pleasure.
- You watch your favorite videos online from your computer, but you are prohibited from saving them. You feel that you have no control over your own computer. (And it’s not how an open Web is supposed to work.)
- You want to get rid of any closed-source technology or proprietary JavaScript code, and disallow things like Flash running on your computer.
- You are an adherent of hacker culture and free software.
In an increasingly digital world, the ability to control and manage one’s own media consumption is paramount. One of the primary reasons users may choose to utilize You-Get is the inherent desire to retain enjoyable content for personal use. Whether it’s a favorite tutorial, an inspiring documentary, or a beloved music video, having local access to such content can enhance the viewing experience and provide a sense of ownership. With You-Get, users can easily download and store these media assets, ensuring that they are always accessible, even in the absence of an internet connection.
Moreover, many users encounter frustrating scenarios where they are unable to save their preferred videos due to various restrictions imposed by proprietary platforms. These limitations can be particularly vexing when users aim to revisit educational content or preserve memorable moments that may no longer be available online. You-Get circumvents this issue by providing a straightforward solution that empowers users to bypass such barriers and obtain the media they wish to keep.
The overarching desire for control over one’s digital environment further drives the appeal of You-Get. As proprietary technologies become more entrenched in our daily lives, users may find themselves limited by the terms and conditions set by these platforms. You-Get offers an alternative approach by enabling users to independently access and manage their content. By employing this command-line utility, users can take charge of their digital assets, free from the risks associated with transient media offerings that may disappear or become inaccessible over time.
Ultimately, You-Get aligns with the growing demand for data independence. For those who seek a simple yet powerful tool to manage their media content, this utility stands out as an indispensable choice.
Features and Benefits of You-Get
You-Get stands out as an exceptional command-line utility designed specifically for downloading media content from various platforms. One of its primary features is its robust support for multiple media formats. You-Get allows users to download videos, audio files, and even subtitles, catering to a wide array of media preferences. The versatility in format support ensures that individuals can obtain content in a way that meets their specific needs, whether it’s for offline viewing or personal use.
Another significant aspect of You-Get is its ability to bypass common download restrictions imposed by websites. Many media platforms impose geographical limits or user restrictions that can hinder access to content. You-Get circumvents these barriers, enabling users to download media seamlessly, thereby enhancing the accessibility of online content regardless of source limitations. This feature not only facilitates a smoother user experience but also aligns with a greater philosophy of open access to information.
The lightweight nature of You-Get is an additional advantage for users who prefer minimalistic solutions. As a command-line utility, it requires minimal system resources compared to graphical user interfaces, making it ideal for users operating on older computers or limited bandwidth. This efficiency does not compromise its functionality; rather, it enhances the overall user experience by offering a swift and effective means of downloading.
Moreover, leveraging You-Get promotes enhanced privacy and security while accessing media content. Unlike many download managers that may track users or require extensive permissions, You-Get operates discreetly, thereby giving users greater control over their media access. The adherence to hacker culture principles also resonates with users who prioritize autonomy and transparency. By using You-Get, individuals not only gain access to valuable media resources but also embrace a philosophy that champions user empowerment in the digital realm.
Supported Sites
Getting Started with You-Get
You-Get is a powerful command-line utility designed for downloading media content from various websites. This section aims to guide users through the installation process on different operating systems, introduce the basic commands for downloading content, and offer troubleshooting tips for common issues.
Installation
Prerequisites
The following dependencies are recommended:
Option 1: Install via pip
The official release of you-get
is distributed on PyPI, and can be installed easily from a PyPI mirror via the pip package manager: (Note that you must use the Python 3 version of pip
)
$ pip install you-get
Option 2: Install via Antigen (for Zsh users)
Add the following line to your .zshrc
:
antigen bundle soimort/you-get
Option 3: Download from GitHub
You may either download the stable (identical with the latest release on PyPI) or the develop (more hotfixes, unstable features) branch of you-get
. Unzip it, and put the directory containing the you-get
script into your PATH
.
Alternatively, run
$ cd path/to/you-get
$ [sudo] python -m pip install .
Or
$ cd path/to/you-get
$ python -m pip install . --user
to install you-get
to a permanent path. (And don’t omit the dot .
representing the current directory)
You can also use the pipenv to install the you-get
in the Python virtual environment.
$ pipenv install -e .
$ pipenv run you-get --version
you-get: version 0.4.1555, a tiny downloader that scrapes the web.
Option 4: Git clone
This is the recommended way for all developers, even if you don’t often code in Python.
$ git clone git://github.com/soimort/you-get.git
Then put the cloned directory into your PATH
, or run python -m pip install path/to/you-get
to install you-get
to a permanent path.
Option 5: Homebrew (Mac only)
You can install you-get
easily via:
$ brew install you-get
Option 6: pkg (FreeBSD only)
You can install you-get
easily via:
# pkg install you-get
Option 7: Flox (Mac, Linux, and Windows WSL)
You can install you-get
easily via:
$ flox install you-get
Shell completion
Completion definitions for Bash, Fish and Zsh can be found in contrib/completion
. Please consult your shell’s manual for how to take advantage of them.
If you encounter issues, consider verifying that you have the latest version of You-Get, as updates often fix bugs and compatibility issues. Additionally, check your internet connection and make sure the media URL is valid. If problems persist, consult the You-Get documentation or community forums for guidance.
By following these steps, users can effectively utilize You-Get as a valuable addition to their digital toolkit, ensuring smooth media downloads across various platforms.
Using You-Get and how to get the most out of it
Getting Started
Download a video
When you get a video of interest, you might want to use the --info
/-i
option to see all available quality and formats:
$ you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
site: YouTube
title: Me at the zoo
streams: # Available quality and codecs
[ DASH ] ____________________________________
- itag: 242
container: webm
quality: 320x240
size: 0.6 MiB (618358 bytes)
# download-with: you-get --itag=242 [URL]
- itag: 395
container: mp4
quality: 320x240
size: 0.5 MiB (550743 bytes)
# download-with: you-get --itag=395 [URL]
- itag: 133
container: mp4
quality: 320x240
size: 0.5 MiB (498558 bytes)
# download-with: you-get --itag=133 [URL]
- itag: 278
container: webm
quality: 192x144
size: 0.4 MiB (392857 bytes)
# download-with: you-get --itag=278 [URL]
- itag: 160
container: mp4
quality: 192x144
size: 0.4 MiB (370882 bytes)
# download-with: you-get --itag=160 [URL]
- itag: 394
container: mp4
quality: 192x144
size: 0.4 MiB (367261 bytes)
# download-with: you-get --itag=394 [URL]
[ DEFAULT ] _________________________________
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (568748 bytes)
# download-with: you-get --itag=43 [URL]
- itag: 18
container: mp4
quality: small
# download-with: you-get --itag=18 [URL]
- itag: 36
container: 3gp
quality: small
# download-with: you-get --itag=36 [URL]
- itag: 17
container: 3gp
quality: small
# download-with: you-get --itag=17 [URL]
By default, the one on the top is the one you will get. If that looks cool to you, download it:
$ you-get 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
site: YouTube
title: Me at the zoo
stream:
- itag: 242
container: webm
quality: 320x240
size: 0.6 MiB (618358 bytes)
# download-with: you-get --itag=242 [URL]
Downloading Me at the zoo.webm ...
100% ( 0.6/ 0.6MB) ├██████████████████████████████████████████████████████████████████████████████┤[2/2] 2 MB/s
Merging video parts... Merged into Me at the zoo.webm
Saving Me at the zoo.en.srt ... Done.
(If a YouTube video has any closed captions, they will be downloaded together with the video file, in SubRip subtitle format.)
Or, if you prefer another format (mp4), just use whatever the option you-get
shows to you:
$ you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
Note:
- At this point, format selection has not been generally implemented for most of our supported sites; in that case, the default format to download is the one with the highest quality.
ffmpeg
is a required dependency, for downloading and joining videos streamed in multiple parts (e.g. on some sites like Youku), and for YouTube videos of 1080p or high resolution.- If you don’t want
you-get
to join video parts after downloading them, use the--no-merge
/-n
option.
Download anything else
If you already have the URL of the exact resource you want, you can download it directly with:
$ you-get https://stallman.org/rms.jpg
Site: stallman.org
Title: rms
Type: JPEG Image (image/jpeg)
Size: 0.06 MiB (66482 Bytes)
Downloading rms.jpg ...
100% ( 0.1/ 0.1MB) ├████████████████████████████████████████┤[1/1] 127 kB/s
Otherwise, you-get
will scrape the web page and try to figure out if there’s anything interesting to you:
$ you-get https://kopasas.tumblr.com/post/69361932517
Site: Tumblr.com
Title: [tumblr] tumblr_mxhg13jx4n1sftq6do1_640
Type: Portable Network Graphics (image/png)
Size: 0.11 MiB (118484 Bytes)
Downloading [tumblr] tumblr_mxhg13jx4n1sftq6do1_640.png ...
100% ( 0.1/ 0.1MB) ├████████████████████████████████████████┤[1/1] 22 MB/s
Note:
- This feature is an experimental one and far from perfect. It works best on scraping large-sized images from popular websites like Tumblr and Blogger, but there is really no universal pattern that can apply to any site on the Internet.
Search on Google Videos and download
You can pass literally anything to you-get
. If it isn’t a valid URL, you-get
will do a Google search and download the most relevant video for you. (It might not be exactly the thing you wish to see, but still very likely.)
$ you-get "Richard Stallman eats"
Pause and resume a download
You may use Ctrl+C to interrupt a download.
A temporary .download
file is kept in the output directory. Next time you run you-get
with the same arguments, the download progress will resume from the last session. In case the file is completely downloaded (the temporary .download
extension is gone), you-get
will just skip the download.
To enforce re-downloading, use the --force
/-f
option. (Warning: doing so will overwrite any existing file or temporary file with the same name!)
Set the path and name of downloaded file
Use the --output-dir
/-o
option to set the path, and --output-filename
/-O
to set the name of the downloaded file:
$ you-get -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
Tips:
- These options are helpful if you encounter problems with the default video titles, which may contain special characters that do not play well with your current shell / operating system / filesystem.
- These options are also helpful if you write a script to batch download files and put them into designated folders with designated names.
Conclusion
You get can be a fun and interesting tool to play around with and find a use for it. It is a trending library on GitHub and for a good reason, people from all around the world are finding it useful. It is a great library and you can use it for various aspects on the internet. If you want ad-free watching experience, or you might be an archiver who wants to have a library of videos. You can definitely find a use for it. Also, it’s really fun to use command line 🙂
Visit InnoVirtuoso.com for more…
I would love some feedback on my writing so if you have any, please don’t hesitate to leave a comment around here or in any platforms that is convenient for you.
For more tech related stuff you can always browse and InnoVirtuoso.com and if you would subscribe to my newsletter and be one of my first subscribers, we would make some magic happen. I can promise you won’t be bored. 🙂
You can also subscribe to our newsletter and stay up to date with the latest Tech News here.
Thank you all, and have an awesome day.