Bitcoin donations are welcome:14snQXeLcnJtWUduKZ6rC2MHdPYrYar1Tw

Tuesday, February 24, 2009

How to record streaming WMV/ASF/MMS videos

In this howto I will be using mplayer to do the trick.

If you are using Linux you need to install mplayer, in debian you can simply type:
apt-get install mplayer
Otherwise you can get it both for Windows and other distros right here. (This will work for Windows as well, but I will from here on only explain how it works in Linux).

Next you simply start dumping/recording your stream like this in Linux:
mplayer -dumpstream mms://**********************

Mplayer will now start dumping/recording your stream :)

Common problem:
Stream not seekable!
nop_streaming_read error : Resource temporarily unavailable

If this happens after a while you probably just have to start over again, I could not find any solution for this anywhere else. The same think happened to me while trying to dump/record a stream from Nrk, but I simply tried again a little later on and it worked like a charm.

While recording you can easily playback the video. Simply play the dump like this:
mplayer stream.dump

Happy dumping! :)


  1. Web casting, or broadcasting over the internet, is a media file (audio-video mostly) distributed over the internet using streaming media technology. Streaming implies media played as a continuous stream and received real time by the browser (end user). Streaming technology enables a single content source to be distributed to many simultaneous viewers. Streaming video bandwidth is typically calculated in gigabytes of data transferred. It is important to estimate how many viewers you can reach, for example in a live webcast, given your bandwidth constraints or conversely, if you are expecting a certain audience size, what bandwidth resources you need to deploy.

    To estimate how many viewers you can reach during a webcast, consider some parlance:
    One viewer: 1 click of a video player button at one location logged on
    One viewer hour: 1 viewer connected for 1 hour
    100 viewer hours: 100 viewers connected for 1 hour…

    Typically webcasts will be offered at different bit rates or quality levels corresponding to different user’s internet connection speeds. Bit rate implies the rate at which bits (basic data units) are transferred. It denotes how much data is transmitted in a given amount of time. (bps / Kbps / Mbps…). Quality improves as more bits are used for each second of the playback. Video of 3000 Kbps will look better than one of say 1000Kbps. This is just like quality of a image is represented in resolution, for video (or audio) it is measured by the bit rate.

  2. Did you ever find a graceful way to handle the "resource not available" bug?

    I am automating what essentially boils down to internet-radio DVR, and I get this error from time to time. I can't always monitor it and restart it when this happens.

    I'm sure I can work on something myself, but I wondered if maybe you'd already solved this problem?

  3. @jonathan or @op: im also getting 'nop_streaming_read error : Resource temporarily unavailable'. Any graceful solutions yet? (other than wrapping it with a Python script to restart....

  4. I also see this no_streaming_read error, and I wrapped the command in a script to restart the capture, but for large files it just always fails at some point...
    Is there no known solution?