Tag Archives: stream

msdl: Ripping the format of the Evil One

I kid. There’s nothing inherently evil about mms:// format streams. Not that I am aware of, anyway. πŸ˜•

And if you should still stumble across an mms:// URL and wish to access it, you might think back to earlier this year, and mimms. For almost a year mimms languished on this blog in a dubious working-or-not-working state, mostly because yours truly, despite razor-sharp Googling skills :roll:, couldn’t find a live, working mms:// stream.

Well all that changed this morning, and I can now vouch for both mimms and … msdl.


Better late than never, I suppose. πŸ™„ In my defense, I’m only partly to blame for that, since Microsoft apparently deprecated mms:// format sometime around a decade ago. So finding a working stream depended on a lot of factors beyond my control.

Aside from all that, msdl seems to work with the same alacrity and wild abandon as mimms. I do notice that they both have speed indicators and basic progress counters, which is good.

mimms adds the .wmv extension to its output, while msdl apparently lets the stream determine its filename. Neither way is an issue for me.

msdl has a healthy number of options available as flags, and I particularly like the speed controls and the verbose option, and the option to stop streaming after a set period of time.

While I’m at it, I should be clear that msdl doesn’t just stream mms:// URLs, but can handle rtsp:// as well as a few specialized formats. So no, K.Mandla is not investigating software that only works with a decades-old, deprecated stream format. 😐

Trust me, I’m a professional. πŸ˜‰

streamripper: Keeping local copies

It’s been a while since I’ve seen an audio stream ripper — in fact, I think the last one was fIcy, way back when this site was just starting up. 😐

So here’s streamripper, which does something similar to what fIcy does, but seems a little better prepared for the task.


What I remember most about fIcy is that without an -o flag, it would dump its output to the screen, and with an -o flag … it didn’t quite work right.

So seeing streamripper effortlessly pull down a stream, dissect the individual files at their correct start and stop points, nest them in a neat tree of folders, and set aside tracks that are incomplete … well, it’s very pleasant to watch.

streamripper is not new. In fact, it looks like it faded away (I need a better term than that for software that stalls) around 2008. That’s the bad news.

The good news is, I don’t imagine much has really changed in the past six years in the way streaming music is broadcast, or for that matter, how mp3s work. Both technologies are pretty much solid at this point.

So if you can deal with the awful public shame of using six-year-old software, streamripper appears to be a viable option for capturing your favorite online audio. And if you can’t deal with that big a lag in software development … well, you’ve come to the wrong place, bub. :\

Edit, 2014-11-02: I got a little coaching from wavexx (an fIcy maintainer) and fIcy seems to be working for me now. It’s been a while since I wrote the original post about fIcy so I’m not sure what my problem was the first time, but wavexx helped me iron it out. πŸ™‚

podbeuter: The hidden podcast tool

You’re probably well aware of newsbeuter, one of the best console-based RSS readers available. Outside of that and snownews, there are only trace elements of full-screen, easy-to-configure RSS readers at the console.

What you might not know, and what I didn’t know until Denis told me, was that newsbeuter comes with an integrated podcast downloader tool, podbeuter.


After working with it and newsbeuter for about a half an hour, I walked away from the experience thinking, “Hey, that’s pretty cool.”

Most of podbeuter’s configuration is through newsbeuter’s regular ~/.newsbeuter/config file, the most important option probably being the player variable, which will determine what is cued when you tell podbeuter to play an audio file. For experimentation purposes, I tried mplayer and XMMS (because I’m old school), and both worked fine. I daresay anything that can accept an audio file as a target will work.

Once you have feeds in ~/.newsbeuter/urls, you can enqueue the URLs of audio files to podbeuter’s ~/.newsbeuter/queue file with the “e” command. Once in podbeuter, “d” downloads the file and “p” plays it. Seamless and intuitive, just how I like it.

Visually, podbeuter looks and behaves a lot like newsbeuter, which I understand is meant to look and behave a lot like mutt. I’m fine with that, so long as they both use color. πŸ˜‰

A couple of suggestions: I couldn’t find a way to move directly from newsbeuter into podbeuter or back again. newsbeuter will jam your URL list into your $EDITOR with “E”, and throw up a help display with “?”, so it seems natural to have some way of switching between the feed reader and the file downloader. Perhaps I overlooked it, but I suppose it’s no great loss to have newsbeuter running in one terminal, and podbeuter sitting in another.

Secondly, podbeuter doesn’t seem to allow you to play files until they are completely downloaded. That might be the distinction between streaming audio and a podcast, but it seems another natural point, particularly when most of the console backends are comfortable with streaming from a URL. It also gives you the chance to stop downloading something, if it turns out to be a piece of garbage.

Aside from those points, podbeuter is a fine piece of work and a worthy addition to the newsbeuter tool. I give it a definite thumbs up. Thanks, Denis. πŸ˜‰

tcat: Just quickly, because it’s fun

I wanted to squeeze tcat in today, not just because I have a string of task managers that will otherwise monopolize the week, but also because it’s fun.


tcat saves you the stress of splicing date and cat, and working out the funky sequence to divide them with a tab character.

The help pages promise that tcat does absolutely nothing other than stream data through, and prepend it with a time stamp. So far, it has kept that promise for me.

tcat will let you wrangle the stamp format, in the same way you would might use the date command alone. Together that allows you to pipe any kind of output you like, through tcat and get the same information, just stamped.

Nifty, huh? πŸ˜€

soma.cli: An alternative solution

I have another console-based interface for soma.fm here, which surprises me, since I didn’t know the station was so popular as to warrant so many specific applications. πŸ˜•

soma.cli does something similar to what soma did, but is a little more narrow in its approach. Behold:


soma.cli attempts much the same trick as soma, but without a lot of the (snicker) bells and whistles that soma offered. Pick a number, it starts playing, and you can change or quit from there.

soma also played streams from other sources; I don’t doubt soma.cli could do that too, if you were willing to hotwire it.

mplayer is the backend again, and if you pick through the guts of soma.cli, it too is fairly easy to dissect.

Both soma.cli and soma will rely on your machine being strong enough to push the carcass of mplayer around, and before the 300Mhz generation, that might be a real feat of strength.

soma.cli took a little while to start playing for me; I assumed it was because mplayer was caching but I didn’t really seek out an answer on that. Tell me if you know.

I think that’s all the soma.fm-specific players that I have. And that’s either a good thing or a bad thing. You can decide.

soma: Done perfectly, in so many ways

Waaay back in November, I got an e-mail from Peter mentioning soma, a text-only streaming audio tool. I diligently shuffled it away until the S section, and now I wish I hadn’t.

2014-05-04-6m47421-soma-01 2014-05-04-6m47421-soma-02 2014-05-04-6m47421-soma-03

This is what I really like to see in console applications: Use the tools that are available. Add a dash of customizability. Keep things clean and straightforward. Don’t sell the console short. Allow for others to adjust as needed.

soma, as far as I can tell, really only relies on dialog to handle the interface, and mplayer to do the actual playback.

There are three configuration files, all of which are well documented and easy to figure out. The soma executable itself is arranged in a way that even I could pick through it while troubleshooting. That’s saying something. 😐

soma has some hotkeys and some keystrokes to control volume and playback, and almost everything else is menu-driven. Check out the Scheduler options; that’s a rather good idea to have in an audio player. I’m surprised more don’t.

I don’t see soma in Arch/AUR, or Debian for that matter, but the developer appears to have bundled it for Slackware — so it’s not quite a free-roaming program.

If you have a burning desire to try it out, I decided on the quick-and-dirty way of making it work, by copying the three configuration files to ~/.soma and to /etc/soma (otherwise soma spits out errors) and running it from its unpacked folder, just as ./soma should do it.

I didn’t work with it long enough to get the Mixer or Output options working smoothly; on my system I have only one basic sound card, and I use Openbox’s hotkeys to spawn alsamixer anyway. If you get them configured, let me know how you did it.

I might take some time later today and try to put together a proper PKGBUILD; as luck would have it I’m bogged down with real-life commitments for most of the day, and this is going to be a busy week for me.

I’ll try though. This one gets a ⭐ from me. πŸ™‚

sed: I wouldn’t dream of explaining it

If you’ve never used sed, it’s only because you didn’t know you were using it. sed is used everywhere, by everything, for everything, and the only reason we don’t give it more credit is that it works so fast, clean and quiet that nobody realizes it’s there.


sed is one of those things that’s so quick and powerful that it looks very plain and boring — and then turns out being a wicked sharp tool. It takes almost no effort to get started, but once you start, tinkering with patterns and sequences can get addictive.

The fun thing, to me, about sed is that it occasionally can take the place of a trip through a text editor. Rather than wrangle with vim or emacs and their respective psychoses, sed can do a lot of simple text manipulation right there in front of your face.

I wouldn’t dream of trying to explain all its intricacies here, so I’ll point you in the direction of Bruce Barnett’s tutorial, which is where I cut my teeth on sed, oh-so-long-ago.

Now go forth and sedify. πŸ˜•

mimms: If only I had an mms link around here somewhere

I don’t seem to have the necessary luck today; after realizing lxdvdrip needed an actual video DVD to work, now I can’t seem to find a working mms:// link to try out mimms.


As best I can tell, that’s the issue. I tried several different links I found around the Interwebs, and nothing came from any of them.

Maybe I am just picking the wrong ones. mimms appears reasonably current; I don’t know that there have been so many advances in mms:// streams in the past five years that mimms would be put out to pasture for them.

(I joke, but I’m also fairly certain the links I’ve tried are dead or dormant; mplayer can’t get to them either, but at least shows a little more information for the effort.)

So until I can find a working, live mms:// link, I’ll mark this one as working … just missing its most important component. πŸ™„

Edit, 2014-11-06: Better late than never, I found a live link, and let mimms do its thing:


So there you have it: mimms works exactly like it should. Mystery solved. πŸ˜‰