December 15, 2004

Curious George: Streaming Video What is a good freeware utility for capturing streaming video?

I have been googling around looking for a good utility to capture streaming video (wmv, asf, mpg, mpeg, mov) off of web sites. This can either be video that is embedded, or that opens in my media player. Sometimes I am able to track down the file name and just download it, but often am not. What freeware utilities do you monkeys use to capture streaming video. (Freeware only please, I am a cheap bastard)

  • I have used MPlayer to capture Real streams before. http://www.mplayerhq.hu/ Use the -dumpstream option to write to a file. You have to work out the URL on your own from the page source. It will handle http:, rtp:, rtsp:, mms: and mmst: URLS. It is a command line program with many options and dense documentation, but it will play almost anything. It is primarily a Unix program, but a Windows version is available.
  • I was desperate for a video stream ripper for a school project before, so I pretty much tried everything under the googling sun. I found SDP receiver useful. It's at http://sdp.ppona.com
  • See here.
  • I use mplayer under linux for all my video stuff. "mplayer -dumpstream rtsp://blah/blah.blh" usually does the trick. Often, if you look carefully, video files aren't really using a specific streaming protocol - instead a http:// url referencing the file is wrapped up in some funky embedding code that forces another application to load it (e.g. wmp, quicktime). If this it the case, i just use 'wget' to grab the file: "wget http://blah.org/blah.mov". For many quicktime files however, the .mov file referenced on the web page isn't actually a video file, but a reference file that points to the video file. Here's a very convoluted example, recorded here for posterity: The new batmanbegins trailer is out, the large quicktime is on this webpage. If you view the source for this page you will see: k500000: { path: "http://raincloud.warnerbros.com/wbmovies/batmanbegins/trailer/trailer_hi/trailer_MSTR.mov", w: 480, h: 204 } }, So fire up wget and do: "wget http://raincloud.warnerbros.com/wbmovies/batmanbegins/trailer/trailer_hi/trailer_MSTR.mov" Unfortunately, this file is only 186 bytes long - hardly enough to contain any video. So this is just a reference file, and it will contain the URL to the real video file. It turns out that this is an XML file, and just contains a simple reference to another server: http://pdl.warnerbros.com/wbmovies/batmanbegins/trailer/trailer_hi/trailer_MSTR.mov So wget this file. This file is only about 6000 bytes, so its not the video either. On linux, doing the following will print out all the .mov files referenced in the file: "strings trailer_MSTR.mov | grep mov" This prints out a list: trailer_MSTR.mov trailer_a.mov trailer_MSTR.mov Since you already downloaded trailer_MSTR.mov, the real movie must be trailer_a.mov, hence (using the last known hostname): "wget http://pdl.warnerbros.com/wbmovies/batmanbegins/trailer/trailer_hi/trailer_a.mov" will grab the actual movie file for you. This may seem a long-winded process to most people, but I don't let any animated crap (flash, jpeg, gif, video) run in my browser, as they annoy the piss out of me.
  • Often, if you look in your cache, you can find some files. Unfortunately, this works best in the beast known as Internet Explorer. In Firefox, go to tools --> Page info and under the media tab there will be a link to the file. If you can find the specific url for the file, sometimes a downloading program will download it. Other tools can be found at vcdhelp. Streambox VCR is the most common one. For all of them, again you have to figure out the specific url of the file, which is often the hardest part.
  • Thanks for the help, I've been using mplayer from a DOS shell to grab the video. I just open the .asx files in Notepad, which gives me the real URL. Dump the stream to a folder, and rename it. Works like a charm. Thanks to all.