So, I’ve been looking back over my list of “scripts” that are pulling in audio from various news sources online for the onlineradiotv.com site. It’s also got me doing a bit more spanish language listening than I had been. In the car, I usually use an mp3 player (the nexia) with a small FM transmitter to listen. One of the problems is that I only have a very short list of sources that I can actually download an mp3 from. The rest are streams only. Some are mms (Windows media) streams, others are (rtsp) real server streams… yet others are “playlist” style asf, or ram files that point to other files (rm or asx/wma)…
The bottom line, is that all of those are formats that my player doesn’t support. (Or at least I haven’t tried… wma may be supported.) For the most part, I’ve standardized most of my audio on mp3 just for compatibility (some are in ogg awaiting the day that ogg is as widely playable…) So, I got to thinking, if mplayer can handle all these different file formats, shouldn’t I be able to “capture” a stream to an mp3? I’ve tried various “stream ripping” programs before and had mixed success. Usually, they were specific to one format (realplayer for instance.)
The nice thing about mplayer is with it’s wide codec support, it should be able to capture to file almost ANY audio from almost any stream. Here’s how to do it. We’ll use the bbc spanish language news update as an example….
http://www.bbc.co.uk/spanish/radio/aod/rpms/spanish_bbc_noticias.rpm is the address…
$mplayer -cache 128 -playlist http://www.bbc.co.uk/spanish/radio/aod/rpms/spanish_bbc_noticias.rpm
the above command is usually enough to simply play the audio. For recording, we could probably ignore the cache option (-cache 128 starts the audio playing more quickly than the default setting, but if we’re recording to file it shouldn’t matter…)
$mplayer -playlist http://www.bbc.co.uk/spanish/radio/aod/rpms/spanish_bbc_noticias.rpm -ao pcm:file=/tmp/bbcspanish.wav -vc dummy -vo null
(so we’re writing to a .wav file – or uncompressed audio) The -vc and -vo switches relate to video output which is dumped. I really questioned if it was necessary, but I’ve based this on instructions found here for recording streaming audio with mplayer. The biggest change is that I’ve updated the switches -aofile is deprecated in current mplayer…. the -ao pcm:file=filename approach above is the current usage….
So, now we’ve got a wav file how do we get mp3?
lame -m s /tmp/bbcspanish.wav -o /home/user/mp3s/bbcspanish_`date +%b%d`.mp3
or it could be encoded to ogg
oggenc /tmp/bbcspanish.wav -o /home/user/mp3s/bbcspanish_`date +%b%d`.ogg
I’ve done a script along those lines that looks like this….
mplayer -playlist $1 -ao pcm:file=/tmp/$2.wav -vc dummy -vo null ;
#oggenc /tmp/$2.wav -o /home/avery/unmp3noticias/$2_`date +%b%d`.ogg ;
lame -m s /tmp/$2.wav -o /home/avery/unmp3noticias/$2_`date +%b%d`.mp3
rm /tmp/$2.wav ;
I’ve designed it so I can call stream2mp3 http://www.bbc.co.uk/spanish/radio/aod/rpms/spanish_bbc_noticias.rpm bbcspanish
In other words, the first variable is the stream to capture and the second variable is the first part of the filename (the rest of the file name is date stamped and then .mp3 is added. I’ve got the oggenc line in there in case I ever switch to .ogg format, I can simply comment out the lame line and uncomment oggenc….
Now, for some streams the above -playlist option will not work. So, the script could use some alterations to accomodate that possibility. (I’ve found -playlist is an unforgiving switch to mplayer – it it’s used and the file is NOT a playlist it WILL NOT work.) I guess a lazy solution would be to have a stream2mp3playlist and stream2mp3 version of the script… but that’s not an elegant fix. Anyway the bottom line is it’s worked for me quite well and thought I’d share it (along with the above link that was essentially the how-to on the subject.)
Related PostsRelated Posts
- New office suite release Desktop Linux reported Friday that Thinkfree office has promoted their $49.95 office suite at LinuxWorld (last week.) This is Thinkfree Office 3. It's available for Windows, Mac and Linux. Supports Microsoft office file formats, has a Microsoft-Office-like interface and "critical feature compatibility". Thinkfree Office features a Word Processor, Spreadsheet and......
- Converting rm to mp3 Recently I've run across a realmedia stream that I really want to convert to mp3 (mainly because my portable player can't read rm files. I'll talk about capturing rm streams in another post, but this one is going to talk about converting from rm to mp3. For starters, it's possible......
- Frontier Labs - nexblack I know it's not an ipod... but I'm looking forward to hearing some word when Fronteir Labs releases their "Nexblack". For background.... the nexblack is priced at around $89 (at the frontier labs store), but I've found $69 here. It's a portable mp3/wma/wma with drm/ogg player (according to the spec......
- Goodbye TDAmeritrade, Hello Izone! I just closed down my account with TDAmeritrade. I transferred everything to Izone.com. Funnily enough, Izone is owned by TDAmeritrade and offers EVERYTHING that my regular TDAmeritrade account offered. Infact, the user-interface is identical. Its so identical, that the new username and password I created at izone.com even works at......
- Finovate Startup 2009 Live Twitter I am attending Finovate Startup 2009. It is an action packed 1 day format which I belive will lend itself perfectly to a live twitter. Stay tuned it should be an amazing day. http://twitter.com/BlogTrafficExch In the break I have scheduled some talks with SimplFi, Mint, and Calendar Budget. I am......
- Schwinn Exercise Bike A perfect workout The Schwinn Airdyne Exercise Bike, designed for the total body workout, features patented Airdyne technology that uses a fan wheel to create resistance which increases by pedaling faster and harder. Schwinn exercise bike is one of the best indoor bikes that provides effective workout for all types of users and......
- Capturing Realmedia RM Streams to a file on Disk
- Converting rm to mp3
- Converting Audio to PCM Wave format
- Direct links to international broadcasters audio streams
- Automatically downloading a file mp3 with a bash script