| HTTP Live Streaming (HLS) was developed by Apple Inc. and was first introduced in 2009 with the release of iOS 3.0 and QuickTime X. HLS was created as a solution to deliver video and audio content over HTTP, enabling adaptive streaming based on network conditions and device capabilities. This made it especially useful for mobile devices, where network quality and speeds could vary widely. The introduction of HLS provided a way to break video content into smaller, manageable segments, allowing players to adjust video quality in real-time based on the available bandwidth, thus optimizing the user experience. HLS quickly became popular as it used standard HTTP servers and was more firewall-friendly compared to other streaming protocols like RTSP and RTMP. In 2017, HLS became an official standard (RFC 8216) published by the Internet Engineering Task Force (IETF), solidifying its place as one of the primary streaming protocols used globally. HLS mainly uses manifest which is known as m3u8 playlist. - The concept of a manifest file for describing media assets and their playback order is a fundamental concept in streaming media that has been around for many years. It's a way to organize and describe the different components of a multimedia stream.
- Apple's contribution with HLS was its adoption and implementation of this concept, along with their own specific format and protocol for the manifest file. However, the underlying concept itself is not something Apple owns or has exclusive rights to.
- Here are some key points:
- HLS is an open standard: It is not proprietary to Apple, and anyone can implement it.
- Other streaming technologies exist: MPEG-DASH (Dynamic Adaptive Streaming over HTTP) is another popular open standard that uses a manifest file for media delivery.
The core concept of a manifest file is common - It is used in various streaming technologies, including Adobe's HDS (HTTP Dynamic Streaming) and Microsoft's Smooth Streaming.
So, while Apple's HLS has become very popular and is often associated with manifest files, they did not invent the core concept itself. - Both HDS (HTTP Dynamic Streaming) and MS Smooth Streaming utilize manifests to describe the available media content and its various representations (bitrate, resolution, etc.). These manifests are essential for adaptive streaming, allowing clients to dynamically select the appropriate stream based on their network conditions and device capabilities.
There is a kind of different standard: RTMP (Real-Time Messaging Protocol) - it does not use a manifest file like HLS (HTTP Live Streaming) or HDS (HTTP Dynamic Streaming). Here's why: - Streaming Model: RTMP is a real-time protocol, meaning it delivers content as it's being encoded. It doesn't rely on pre-segmented files like HLS and HDS.
- Connection: RTMP establishes a persistent connection between the server and the client. This allows for continuous data flow without the need for multiple requests for different segments.
- Manifest Purpose: Manifests in HLS and HDS provide a structured way to describe the available video streams (quality levels, bitrates, etc.) and their location. RTMP doesn't need this because the server directly pushes the stream to the client.
In summary, RTMP operates differently from HLS and HDS, relying on a real-time, persistent connection without the need for a manifest file. |