views:

290

answers:

6

I'm planning on building an application where audio media is going to be streamed to the mobile phone for the user to listen.

The targets are smartphones: iPhone/Blackberry/Android/(J2ME ?).

I see that streaming on iPhone has to be done with HTTP Live streaming, but I don't see it supported by other platforms.

Should I broadcast the streams via rstp ? http ? Is there any way to use a unified solution for all the different mobile platform ? If anyone already had to go through this, help would be gratly appreciated.

A: 

One answer to the question "what technology to use ?", for iPhone specifically is WiFi. I know that's not the type of question you are asking, but its a point worth making! Many apps that support streaming over 3G have been rejected by Apple due to bandwidth usage. You may need to be prepared to sense network connection type and limit streaming to when you have a WiFi connection only.

Andiih
A: 

This post may help, it buffers 10 seconds of audio and starts playing while continues downloading in the background.

ZelluX
A: 

Blackberry works with http and RSTP on OS 4.3 or later. I'm not familiar with other platforms but I would think http would be the most compatible.

Here is a PDF that lists the supported types by the major models.

http://docs.blackberry.com/en/smartphone_users/deliverables/15801/711-01774-123_Supported_Media_Types_on_BlackBerry_Smartphones.pdf

MIchael Grassman
A: 

iPhone can play non-streamed audio (progressive download). Considered all platforms you would normally you just needs streams that are suitable transcoded. See f.e. http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/Introduction/Introduction.html The title says its about 'HTTP Live Streaming' but a lot applies for just downloading and playing streams.

André van Toly
A: 
  • Both Android and BlackBerry supports RTSP.
  • Note that some BlackBerry devices only support 15fps video, so you may need separated streams to give the best experience to your users.
  • iPhone, starting from iPhone OS 3.0, needs HTTP Live Streaming.

The only software solution I know to support all above is Wowza but you still need an encoder. (I think Wowza supports RTP as input, but need double checking.)

iwat
A: 

You will probably want to do RTSP, but it doesn't really matter. HTTP Live Streaming is just a protocol on the client side I am pretty sure. All these acronyms just describe ways of transmitting data. If a browser can access the data for a given protocol....chances are a phone can too. It sounds like you are asking more of a server side question.....but that question is the least of your worries You are going to have to think more along the lines of "How am I going to scale this" rather than "What protocol should I use to transmit data". Also, the unified solution for all clients, would be to have a server that they all hit for data. You still need to develop separate clients for each OS.

gburgoon