Streaming video to the iPhone became "standardized" with the release of iOS 3 (ie. iPhone 3) in the summer of 2009. There're a few key aspects of streaming video to the iPhone ...
- video must be encoded with H.264 Baseline profile without frame-reordering
- audio must be encoded with AAC (optionally HE-AAC)
- the video+audio streams must be packed into an MPEG-2 transport stream
- the transport stream must be split into small chunks (the app doing this is usually called a "stream segmenter"), these chunks are then saved (or uploaded) to a web server and served as usually (plain static files, nothing special about it, any webserver will do)
- a unicode encoded M3U file (aka. M3U8) is created on the webserver with a list of these chunks/segments
- the client downloads the M3U file and starts playing/downloading the individual pieces
In case of a live stream the M3U file is updated regularily and the client refreshes (redownloads) it regularily too.
A nice
whitepaper on the subject is available from
Akamai's iPhone site (you'll have to register though to download).
It has a nice table for suggested video bitrates for various resolutions and network bandwidths.
I've saved it in case they take down the wp:
Recent comments
6 days 17 hours ago
1 week 16 hours ago
1 week 17 hours ago
1 week 1 day ago
1 week 1 day ago
1 week 5 days ago
1 week 5 days ago
3 weeks 3 days ago
3 weeks 3 days ago
3 weeks 5 days ago