Downloading .asx video streams

Say there’s an online video that is only available for real-time streaming, and you want to watch it offline at your non-‘net convenience, like on a plane or on your iPhone. A lot of these streams have urls that end in .asx. If so, here are some (techie, Mac-centric) references that will let you download them and watch them later.
The Major MMS page is a good starting point. You’ll quickly realize that the .asx file is just a redirector that has an mms:// url inside of it. In most cases you’ll need to figure out what the mms:// url is.
Chris James Martin also had some good pointers, though his curl-based approach didn’t work for me. I forget why, but I moved on.
You’ll probably also end up at jwz’s saving video streams page, no surprise. Short version:

mplayer -dumpstream -playlist url -dumpfile filename.wmv

Unfortunately, even after downloading the mplayer source, configuring, making, and installing it, this didn’t work for me due to a “stream not seekable” error, which I could not debug, even with Google. Oh well, got some geeking in. Although it failed, and I didn’t have the time to hone my ninja chops to master the source, this is probably the most promising long-term and flexible approach.
In the end, I used an application with a graphical interface to mmsclient, AFSRecorderX. You still have to figure out the mms:// url, and then you paste that into the url field, and choose “mmsclient” from the Tool pop-up menu. There is a “Select” button to choose a destination folder, but it doesn’t do anything – everything is saved to the root (/) of your hard drive no matter what you point it to. Sometimes AFSRecorderX will spew a lot of information into the log section of the window, which you can ignore. It will not tell you when it’s done; you’ll have to occasionally check the file size of the download and eventually when it stops you can open the file and see if you got it all. Sometimes the log stops, and you think it’s failed – you might reboot your computer, or even your network, and re-try several times. Only when you leave it alone long enough will you notice that the file size is indeed increasing, and it’s working correctly. It’s not apparent why the log is sometimes flying by like a 9600 baud modem, and why it sometimes stops dead, regardless of the success of the download. Despite the hackish nature of ASFRecorderX, it worked, and if you want the video badly enough it’s currently the most straightforward approach.
Net-net, so to speak: The academic and corporate overlords that want you to watch video only in real-time streams are going to a lot of effort to make them hard to download. But, like all things code, if you’re willing to go through your own personal video stream download hellfire, you can do it, because in the end, the data manipulates pixel-bits on the screen, and if you have access to the stream, you can do something with it.
The complete and total fall-back hack, the gawd-am-I-really-going-to-have-to-do-THIS? solution would be to use SnapzProX and make a real-time recording of the video window on your screen. I wasn’t willing to stoop that low.