Wednesday, September 1, 2010

HTTP Live Streaming

Chris Adamson:

To summarize the spec: a client retrieves a playlist (an .m3u8, which is basically a UTF-8′ed version of the old WinAmp playlist format) that lists segments of the stream as flat files (often .m4a’s for audio, and .ts for video, which is an MPEG-2 transport stream, though Apple’s payload is presumably H.264/AAC). The client downloads these flat files and sends them to its local media player, and refreshes the playlist periodically to see if there are new files to fetch. The sizing and timing is configurable, but I think the defaults are like a 60-second refresh cycle on the playlist, and segments of about 10 seconds each.

2 Comments RSS · Twitter

Well, Apple Special Event was not live streamed. It was a stream of a recorded live event.

When you hit the pause button and then resume, you're not seeing the live, you're returning to where you were before you pause. Useful but not live.

Unless you have trouble picking up, in which case it will try again and then skip ahead to the most recent clip.

You *can* pause and keep watching time-shifted, but the playlist can't contain too many clip entries or it'd be too large to be practical. If you keep pausing, eventually you'll fall behind the range of the playlist and have to catch up. So that's where the "live stream" aspect fits.

Leave a Comment