Join 3,552 readers in helping fund MetaFilter (Hide)


How to download videos in Safari 7.0 like could be done on Snow Leopard?
November 1, 2013 8:55 PM   Subscribe

I'm all ready to upgrade to Mavericks (OSX 10.9) except for one thing. On Snow Leopard (10.6.8), I am able to open Safari's "Activity window" and see most video files as they're loading there (however, not certain sites like Hulu). From that window, it's an easy Option-Click to download said video file. Safari 7.0 doesn't have this ability. Is there a Safari 7.0 add-on or something that will bring this ability back to Safari?

I know that you can enable the Develop Menu via Safari 7.0 preferences, and then Show Page Resources, but that doesn't seem to show the video files (or at least, I can't find them).
posted by blueberry to Computers & Internet (5 answers total) 3 users marked this as a favorite
 
You get to the equivalent of that activity window by going to the Web Inspector and watching the network request timeline. Unfortunately it doesn't do a good job of showing video activity. I've found Chrome's web inspector (which is actually closer in behavior to the inspector in older versions of Safari) to be better for snagging things like video and audio. You can even right click on a request to get a command line for cURL to download that resource on the command line.
posted by zsazsa at 9:50 PM on November 1, 2013


I don't know of anything as simple as you describe in Safari 7.0, but for HTML5 videos, you can almost always dig a direct URL to the video out of the source relatively easily with the Web Inspector's target tool. Click the target icon, then click on the video pane; then go searching there or deeper in the source tree for things that look like a <video> tag. The "src" parameter in that tag is what you want to click on, or copy. Once you have the link copied to the clipboard, it's a simple matter of opening a terminal window and saying curl -o filename.mp4 '<paste>'. Now it's yours.

That trick does not work with Flash videos, and even having Flash Player installed will usually prevent a site from showing you the HTML5 version of the video, but there's sometimes another way to save it. Start the video playing, then pause it. Go to the terminal and say "ps aux | grep Flash". If you're in luck, the Flash process is saving the video into a temporary file under /private/var/folders/??/long_string_of_stuff/...whatever. ls -lht /that/path/ will give you a listing of files under there, ordered by time created, and sizes in human-readable format; the video is probably the newest and largest file in that directory. Wait until the video is completely downloaded, and then you can just cp /private/var/folders/etc/etc/whatever video.flv. Play it back with vlc.

It's absolutely hilarious to me how developers who really ought to know better think they can prevent you from saving things, when your browser has to retrieve them in order to show them to you in the first place.
posted by Suddenly, elf ass at 9:53 PM on November 1, 2013 [2 favorites]


I think I meant "lsof | grep Flash" in that previous bit about Flash videos. That would make more sense.
posted by Suddenly, elf ass at 11:35 PM on November 1, 2013


Depending on where you're trying to snag videos from, youtube-dl might be worth a look - despite the name it'll download from quite a few video hosting sites, and saves you the bother of rooting around in the page source.

cclive works similarly.
posted by jack_mo at 4:55 AM on November 2, 2013


Give Click-to-Plugin a try.

It gives you ways to show various plugins as native filetypes (like showing Youtube as HTML5 videos) but it also gives you a right-click to download function.
posted by tomierna at 9:13 AM on November 2, 2013


« Older For a project for my child's s...   |  Help papa become a better bedt... Newer »

You are not logged in, either login or create an account to post comments