HTTP Live Streaming (HLS) support
|Reported by:||vipw||Owned by:|
|Priority:||4 - Normal||Milestone:|
Description (last modified by sho)
XBMC should support HLS as well as possible. HLS is an Apple proposed standard used for streaming video on iOS devices and in HTML5
IETF Internet Draft: http://tools.ietf.org/html/draft-pantos-http-live-streaming-05
There are a couple ways to go about supporting this that I see.
- FFmpeg: libavformat contains applehttp.c, which supports probing and playing an http url to an m3u8 file. Configuring with --enable-external-ffmpeg works fine.
- Boxee: Boxee has extended the PlayListM3U.cpp to parse the extended tags and added a DVDInputStream class and IFile class to manage pulling the remote content.
The FFmpeg approach is certainly easier. But it suffers the following limitations:
Encryption is not currently supported (easy to resolve). HTTPS is not currently supported (hard to resolve).
The Boxee approach requires more changes to XBMC, but the code is already written and just needs to be ported. Boxee's approach supports encryption and HTTPS.
I will make a topic branch on github for backporting Boxee's work to XBMC. I'm CC'ing AlTheKiller because he wrote much of the playlist code. Should anyone else be involved in reviewing this?