We’ve now made Panda even better for developers who want to implement Apple live streaming through HTTP Live Streaming (HLS). We’ve added an additional “resolution” tag which the video player is able to choose the best stream resolution. By the way, the tag is optional, but recommended if the variant stream includes video.
What is HTTP Live Streaming?
HTTP Live Streaming (HLS) allows you to stream live and on-demand video and audio to an Apple mobile device. As an adaptive streaming protocol, HLS has several advantages:
-
Multiple bit-rate encoding for different devices
-
HTTP delivery
-
Segmented stream chunks for live streams over widely available HTTP infrastructure
How does HTTP Live Streaming work?
HLS lets you send streaming video and audio to any supported Apple product. It segments video streams into 10-second chunks that are stored using a standard MPEG-2. HTTP Live Streaming also provides for media encryption and user authentication, allowing publishers to protect their work.
How does a stream get into HLS format?
-
The video and audio source is encoded to an MPEG-2 transport stream container, with H.264 video and AAC audio, which are the codecs that Apple devices support
-
Output profiles are created (a single input stream may be transcoded into several output resolutions depending on the device)
-
The streams are segmented, and an index file is used to keep track of the segments
How do HLS downloads work?
The user downloads the index file via a URL that identifies the stream. For a given stream, the client then fetches each stream chunk in order. Once the client has enough of the stream downloaded and buffered, it’s displayed. Remember to use the <video> tag to embed HTTP Live Streaming, and use the <object> or <embed> tags only to specify fallback content.