Thursday, July 16, 2009

Flash streaming on iPhone?

Yes, you read the headline right, and it is true. Modulation Index, the folks that have been making radio stations sound better for over 30 years, has released a new version of their Internet radio player on Apple iPhone that supports audio streaming using Flash on iPhone.

So, why is that important? Because it solves three problems: audio quality and reliability, economy of scale, and interactivity.

Problem 1 is audio quality & reliability. Quality is determined by two factors, audio quality per bit and transport overhead. Today, the vast majority of what you hear on iPhone is MP3 over Shoutcast. Some folks have found a way to get HE AAC v1 over Shoutcast using the iPhone built-in decoder. But to get a reliable listening experience on iPhone while driving, you can't send your stream at more than 32Kbps. 24Kbps is even better. And as much as I love HE AAC v1, taking it down to 32Kbps is pushing it (and MP3 at 32Kbps sounds like garbage.) That means you need HE AAC v2, which is only possible if your iPhone app licenses a good codec from a reliable source. (Don't get me started on the low-quality of FAAD2.) That solved the codec problem, but the transport issue was still there. I also love Shoutcast, but it was never intended as a mobile streaming protocol. It works great when the connection is relatively reliable, but it frays at the edges when you get dropouts. HE AAC v2 delivered over RTMP, the Flash Media Server protocol, addresses both issues. You get a high-quality codec delivered on a reliable transport. A solid sound that will make the most demanding station GM proud. Problem 1 solved.

Problem 2 is economy of scale. Even though mobile streaming is becoming popular, it still doesn't have the cume of desktop listeners. That means stations had to either set up a separate server to reach mobile or they had to shoehorn their PC stream. Now that Flash streaming with HE AAC v2 is availble on iPhone, stations don't have to choose. They can have a single stream to serve Windows, Mac, and iPhone, reducing overhead and mangement requirements. It also means that stations can pick from a wider variety of CDNs, giving them control over their own destiny. Problem 2 solved.

Problem 3 is interactivity. As much as it might offend the purists (most of the time, I think I fall into that camp,) radio stations need visuals and interactivity to help differentiate Internet radio. By supporting the Flash streaming protocol and establishing a format for advertising and albumart metadata, the Modulation Index solution gives stations the ability stream album art with clickable "buy now" links as well as synchronized graphics for audio ads, again with click-through on iPhone, on Windows, and on Mac. Problem 3 solved.

The barriers keep falling and the industry is evolving ever more mature solutions to make Internet radio a real business. Given that we are 10 years into this endeavor, I am glad to see it.

7 comments:

Sal said...

Do you know if the following website will work on the iphone using Tuner2. I don't want to pay 8.99 and find out it doesn't work.

http://player.streamtheworld.com/NAVTARANG/

Thanks,

David Frerichs said...

Sal, Stream The World doesn't support real Flash streaming. They have a proprietary streaming format that only works in their players. It is their way to lock customers into their content delivery network.

As such, that stream probably wouldn't work in the Tuner2 player for iPhone.

Thanks!

Dario said...

I enjoy listening to internet radios on my iPhone every day and I also found this really cool gadget that lets me broadcast the music to any regular radio in my house.

I found it here: http://www.usbfmtransmitters.com

Anonymous said...

Can I listen to streaming radio on say Wunder Radio or the like in my car using an FM transmitter, I don't want to make the purchase if I can't.....

David O Donoghue said...

Hi David,

Would the following website play on Tuner2? I've been trying to get it to work.

Its Mix 96.1 in San Antonio, TX.

rtmp://213.155.154.143:443/live?_fcs_vhost=cp20821.live.edgefcs.net&akmfv=1.8&auth=daEchdKcacAb

is what I'm getting from a url catcher. The problem seems to be with either filling in the path, the port or the address. (I know very little about iPhone coding!)

Any chance you could offer advice?

Thanks!

David

David Frerichs said...

Hey David,

The URL you posted has an authentication argument on it. I am guessing that token is short lived, so just capturing the url won't work. Also, if that stream is in MP3 format, instead of AAC, it won't play in the Tuner2 iPhone app.

Thanks!

Unknown said...
This comment has been removed by a blog administrator.