Do it For Free: How to Download Streaming Video for Offline Viewing in OS X

The problem: 

  • I want to save streaming videos (e.g. Netflix, Hulu) for offline viewing on my Mac/iPad/iPhone without installing expensive or suspicious software

The scenario: 

I was going on an 11 hour flight to Thailand and the airline didn’t have Wifi.  There were a ton of shows in my Hulu and Netflix cues that I’d love to watch, but they require internet access to stream.  All the Googling I did to find a clean solution pointed me to “demo” and malware-ridden software that still didn’t do what I actually wanted it to.  But there’s a safer and freer way to save those videos for offline viewing.

The solution:

First, the bad news.  There is really no way to download a lossless streaming video in the same codec at which it’s streamed.  These big media companies have entire engineering teams working to make that an impossibility for obvious piracy reasons.  That means this workaround only works in real-time — you will have to play the entire video, uninterrupted, on your computer while it’s recorded.  (Note: the many other apps smattered around the internet use this exact same technique — my way is not a new way of doing this, but it is free, safe from malware, and fairly easy.)

To do this, you’ll need 2 things:

QuickTime Player — It’s made by Apple and comes standard with OS X.  It can be found in your Applications folder.  QuickTime has the ability to record any or all of your screen, but it’s limited by the fact that it can only record audio from EXTERNAL sources (that is, it can not directly save the same sound that goes to your speakers into the video file).  To fix this, there’s a free extension that you need to install first: Soundflower

Soundflower — It’s a free extension you can download here.  Soundflower uses software to make your audio output (whatever sound is going to your speakers), get directly registered by your audio input (what would normally be your microphone).  Once you’ve downloaded and installed it, you will need to restart your computer… then the fun begins.

1) Once Soundflower is installed, open System Preferences (Apple menu > System Preferences…), then the “Sound” preference pane.  Under “Output,” select “Soundflower (2ch)”.

Sound Preference Pane

2) Close System Preferences and open QuickTime Player (from your Applications folder).  Go to the File menu > New Screen Recording.  Click the little down arrow beside the record button, and it will bring up a dropdown menu for the “Microphone.”  From that “Microphone” menu, select “Soundflower (2ch).”

Quicktime Screen Record

3) Turn up the volume to about 80%, then play some audio on your computer (anything that creates sound, like a song in iTunes).  You won’t be able to hear the sound through your speakers, but you should be able to see the audio levels moving in the QuickTime window.  If you see that, turn off the song (or whatever other audio you were playing) so it’s silent, then proceed…


4) Open your web browser to whatever video you want to record (Netflix, Hulu, etc.) but don’t hit play on the video yet!  First hit the red record button in the QuickTime window and you’ll be prompted to select the portion of the screen you want to record.  Set a bounding box around the video in your browser, then press “Start Recording.”


5) Press play on the internet video, then get your mouse the heck out of the way and let the video play!  Do NOT move the window, or try to do anything else on your computer while this is recording… Just let the video play, commercials and all until it’s over.  You’ll know it’s working if the un-recorded portion of the screen turns dim, and this little stop button appears in your menubar:

Quicktime Stop Recording

6) When the video is done, stop the recording by hitting the menubar stop button (pictured above).

7) Back in QuickTime, check the video to make sure it got everything you wanted (you’ll probably want to go back to System Preferences > Sound and change the Output to Internal Speakers again so that you can check that the audio was properly recorded).

8) Now the entire video is saved in a high-res QuickTime format that’s probably way too large to play on an iPad or iPhone, so you’ll have to compress it.  To make it playable on your device, from QuickTime go to File > Export > iPad, iPhone, iPod touch & Apple TV.  From the next popup, select the appropriate resolution for your playback device, then save the file.

9) Finally, you’ll want to transfer the file to your playback device.  If that’s your computer, there’s nothing more to be done, the video is saved on your hard drive.  If you want to put it on an iPhone or iPad, then you’ll need to import the video into iTunes and sync that movie with your device.

Please support the film and television arts and keep the videos you make for personal use only, don’t share/distribute them anywhere else.  Also, if you find an faster and easier solution for these types of streaming videos, please tell me about it in the comments section!  Happy viewing.