Downloading All Videos from a Vimeo Channel

Vimeo was widely considered to be the king of the mountain when it came to video quality, user interface, and community. I count myself among the folks who used Vimeo for the first two or those three selling points. It was an amazing piece of software, so much so that people were willing to pay for it while YouTube offered more unlimited everything for free.

My first bump in the road with Vimeo was their slowness to catch up with technology that YouTube was rapidly rolling out and supporting. Over the past few years, my video workflow has changed quite drastically to match the breakneck speed of camera technology—4K, HDR, 360 video, and much more. YouTube was on the 4K train back in 2010. Five years later Vimeo introduced it.  YouTube added HDR video support in 2016. Vimeo’s implementation came a year after.

Parallel to that, the gap in video quality (perceived or not) between Vimeo and YouTube has narrowed to almost nothing. Keep in mind that the 4K and HDR features were only available to Vimeo users with paid accounts, whereas YouTube rolled these features to every single user.

I continued to face a few other issues with Vimeo, too:

  1. They continue to charge for their Pro features while enabling more limitations, attempting to push folks to move to their pricier Business or Premium Plans—I want to note that I’ve been a happy Pro user of Vimeo for years now and I have no problem paying for quality software.
  2. Even with a gigabit internet connection I still experience buffering issues with Vimeo videos in the browser.
  3. While their review page feature is serviceable, it hasn’t been enough to pull me away from Frame.io, especially when you consider the tight integration with Final Cut Pro X that Frame.io now offers.

All of this is to say that I’m moving my videos to be served via YouTube going forward, which has reached a video quality that’s nearly on-par with Vimeo and continues to be on the cutting edge for enabling new features like 8K resolution, live-streaming, Channel Memberships, and more.

The Problem: How to archive my Vimeo Channel?

Vimeo doesn’t want you to leave. Once you downgrade your plan they delete everything you’ve uploaded while on a paid-tier, which is a bummer. You’ll lose all of your stats, embeds, etc. That feels a little petty, truth be told, especially with storage getting cheaper every day, but such is life.

As it stands, to download your own videos—assuming you don’t have the originals or don’t want to re-encode archived footage—you have to do the following:

  1. Login
  2. Click on a video
  3. Toggle open “Distribution”
  4. Click “Video File Links”
  5. Switch the dropdown to “Download video file”
  6. Copy the Source Video link
  7. Open a new browser tab and paste said link to begin the download
  8. Repeat

I currently have 183 videos uploaded to my Vimeo channel so as you can imagine this would be a day or two worth of carpel-tunnel inducing clicks and copypastas, so I found a better way, which I’m sharing with you now:

macOS Users: Don’t Fear the Terminal

The first thing we need to do is to open up the Terminal located in /Applications/Utilities/ or simply by invoking Spotlight and typing Terminal. Windows users, I haven’t used your platform in almost two decades now but I assume it’s similar-ish in the Command Prompt.

We’re going to install a package called youtube-dl, which is a command-line application that lets you download videos directly from YouTube and a handful of other sites (including Vimeo!). It’s a great little tool to have at your fingertips and there are two ways to install it: directly or via a package manager like Homebrew.

Direct Install of youtube-dl

In the terminal window, copy/paste the first line, press return, then copy/paste the second line, press return:

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl

After the first command you will be asked to enter your system password, just like if you were installing an app from a source outside of the App Store.

Install via Homebrew (my preferred method)

Homebrew is a package manager. Think about it like a terminal-based App Store/aggregator. Developers submit their apps to the Homebrew respository and then, rather than having to remember obscure and long strings of text like you see above, Homebrew abstracts it away in favor of something simpler. First, you have to install Homebrew, like so:

sudo /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

That will download and install all of the necessary components for Homebrew. At that point, you can now install youtube-dl via a simpler brew command.

brew install youtube-dl

Once that is successful, now you’re ready to rock!

Snag a YouTube Video For Funsies

While in the Terminal still, let’s grab a YouTube video for fun so you can see how it all works. The basic format is super straightforward:

youtube-dl https://www.youtube.com/watch?v=dQw4w9WgXcQ -f mp4

That simple command says: Use youtube-dl to download the video at the URL in an MP4 format. You could also use -f webm for the WebM version (usually for the 4K versions) or even -f mp3 to just grab the audio. That will download to your Home folder by default Macintosh HD/Users/USERNAME/

To change the location to a spot of your choosing, you can add the -o command, which specifies an output folder. Here’s what it would look like if I wanted the video to download to my Movies folder:

youtube-dl https://www.youtube.com/watch?v=dQw4w9WgXcQ -f mp4 -o "/Users/agormley/Movies/%(title)s.%(ext)s"

Protip: After typing -o in the Terminal, the easiest way to specific a custom path is to just drag and drop the destination folder right into the Terminal window. It’ll automatically populate the path! Don’t forget to add the very-important trailing slash with the file-naming template /%(title)s.%(ext)s

Now We Archive Your Vimeo Channel

The first thing you’ll want to do is make all of the videos you want to download public on your channel and, optionally enable downloading. This is easy to do at a high-level on Vimeo by selecting all videos and using the Privacy button in the video manager

Now in the terminal you’re going to paste the following line:

youtube-dl https://vimeo.com/staff

That simple command would check through every page of the user’s profile—in this case four—and then begin the process of downloading the highest quality versions of each. This potentially includes the source files if they’re available. So you would simply swap out staff with whatever your channel name is and you’re set! Here are a couple cool extra things you could do:

youtube-dl https://vimeo.com/USERNAME -o "/Users/YOURUSER/Movies/%(title)s.%(ext)s"

youtube-dl -f 'bestvideo[height<=720]' https://vimeo.com/USERNAME -o "/Users/YOURUSER/Movies/%(title)s.%(ext)s"

youtube-dl https://vimeo.com/VIDEO-ID --video-password PASSWORD -o "/Users/YOURUSER/Movies/%(title)s.%(ext)s"

The first option will grab the highest-available-quality videos from the user URL you’ve specified and save them to your Movies folder with a Title.ext filename format

The second option will limit the quality to 720p, which might be useful for some people. You can change that to fit whatever resolution you’re specifically looking for—1080, 2160, etc.

The final option will let you grab a video behind a password-protected link by adding the password inline to the terminal command.

Go Forth and Make the Move!

If you’ve considered making the switch from Vimeo to YouTube but were feeling overwhelmed about moving and backing up your content, let this give you some semblance of comfort and make the first step just a little bit easier!