For every video developer, HLS (HTTP Live Streaming) is not only one of the most commonly encountered streaming media protocols in daily work, but also a history of technological evolution that constantly reinvents itself and drives the industry forward. It evolved from a simple solution initially supporting only .ts segments, to supporting HEVC, fMP4, and ultimately embracing low-latency CMAF.
This article will follow this technological evolution path, deeply analyzing the technical breakthroughs at key nodes, the core value delivered to developers, and provide a practical developer resource library to help you navigate implementation with ease.
Milestone Event: In 2009, Apple released HLS with iPhone 3.0, aiming to solve the challenges of mobile streaming playback.
Core Technology Stack:
Container: MPEG-2 Transport Stream (.ts).
Codec: H.264 (AVC) + AAC.
Protocol: HTTP-based, indexing .ts segments via .m3u8 playlists.
Adaptive Bitrate (ABR): Basic multi-bitrate switching capability.
Developer Benefits:
Penetration: The HTTP-based protocol easily traverses firewalls and NAT, solving deployment challenges faced by traditional protocols like RTSP in complex network environments.
CDN-Friendly: Can directly utilize existing mature HTTP CDN networks for distribution, greatly lowering the barrier and cost of streaming media services.
High Reliability: The stability and widespread support of HTTP ensure transmission reliability; network jitter can be recovered by simply retrying requests. At this stage, HLS established the core architecture of "segmentation + indexing," laying a solid foundation for all subsequent evolution.
Milestone Event: HLS's influence expanded beyond the Apple ecosystem, officially becoming an IETF international standard RFC 8216 in 2017.
Key Improvements:
Playlist Enhancement: m3u8 files introduced the #EXT-X-MEDIA tag, supporting multiple audio tracks, multiple subtitles, and alternate video streams.
I-Frame Playlist: Through #EXT-X-I-FRAMES-ONLY, enabling precise video seeking and fast preview.
Encryption Standardization: Clarified AES-128 encryption scheme, providing a foundation for content protection.
Developer Benefits:
Cross-Platform Interoperability: Standardization means Android, smart TVs, and other platforms fully embrace HLS. Developers can now serve almost all mainstream devices with a single solution, bidding farewell to cumbersome multi-terminal adaptation.
Enriched Experience: Easily implement multi-language audio track switching, subtitle loading, and other features, providing technical support for building global applications.
Basic Security Assurance: AES-128 provides an easy-to-use and effective protection method for general copyrighted content.
Milestone Event: At the 2017 Apple WWDC conference, Apple announced that HLS officially supports HEVC (H.265) and fMP4 (Fragmented MP4) formats. This was a landmark leap in HLS history, directly responding to the demands of the 4K Ultra HD era.
Key Improvements:
HEVC/H.265 Support: Playlist version upgraded to explicitly support higher compression efficiency video encoding.
Introduction of fMP4 Container: In addition to traditional .ts, HLS began supporting fMP4 segments in .m4s format.
Developer Benefits:
Bandwidth Costs Slashed, Quality Leap: HEVC saves approximately 50% bandwidth compared to H.264 at equivalent subjective quality. This means developers can provide users with higher definition (such as 4K, 8K) streaming services at lower costs.
Workflow Unification and Efficiency Boost: The introduction of fMP4 is another major boon. It shares the same container format as MPEG-DASH, allowing developers to "encode once, generate fMP4, and simultaneously support HLS and DASH through different manifest files (m3u8/mpd)". This greatly simplifies video processing, storage, and packaging workflows, paving the way for the subsequent popularization of CMAF.
Milestone Event: In 2019, Apple officially released the Low-Latency HLS (LL-HLS) specification, while the CMAF (Common Media Application Format) format was widely adopted.
Key Improvements:
LL-HLS: m3u8 files further subdivide segments into smaller "parts" through the introduction of the #EXT-X-PART tag, combined with HTTP/2, reducing end-to-end latency from the traditional 30+ seconds to 2-8 seconds.
CMAF Popularization: CMAF unified the media segment formats of HLS and DASH, allowing them to truly share completely identical media files (.m4s).
Developer Benefits:
Unlocking Real-Time Interactive Scenarios: LL-HLS allows HLS to move beyond on-demand and traditional live streaming. Developers can now build latency-sensitive real-time interactive applications such as sports events, online auctions, and video chat based on HLS, while retaining HLS's CDN-friendliness and scalability.
Ultimate Operational Efficiency: The popularization of CMAF means "encode once, play everywhere" has become a reality from an ideal. A single CMAF output can serve all terminals supporting HLS and DASH, greatly reducing storage and transcoding costs.
Seamless DRM Integration: Support for mainstream DRM solutions like FairPlay and Widevine is more mature, making HLS a reliable choice for carrying high-value content.
| Phase | Core Technology | Core Developer Benefits |
|---|---|---|
| Founding (2009) | HTTP + .ts Segments | Firewall penetration, CDN-friendly, easy deployment |
| Expansion (2010-2016) | RFC 8216 Standardization, Multi-audio/subtitle | Cross-platform interoperability, enriched user experience |
| Innovation (2017) | HEVC + fMP4 | Bandwidth costs halved, workflow unified |
| Unification (2019-Present) | LL-HLS + CMAF | Unlocking real-time interaction, achieving "encode once, play everywhere" |
To facilitate your practical application of HLS, we have compiled a resource list ranging from official documentation to practical tools.
Apple HLS Official Specification: The most authoritative first-hand source, containing the latest protocol features, best practices, and authoring tools.
IETF RFC 8216 Standard Document: The official international standard for HLS, suitable for developers needing to deeply understand protocol details.
FFmpeg: The "Swiss Army Knife" of audio/video processing, supporting the entire HLS workflow including transcoding, segmenting, and encryption.
Shaka Packager: A powerful packaging tool from Google, focusing on packaging encoded media files into CMAF/fMP4 segments required by DASH and HLS.
hls.js: A pure JavaScript HLS client requiring no native player support, powerful and the mainstream choice for HLS playback on the Web.
video.js: A web video player with a vast plugin ecosystem, supporting HLS well through plugins.
Xigua Player: From ByteDance, comprehensive features, good support for HLS, FLV, and other formats, providing rich APIs and customization capabilities.
zwplayer: A lightweight web player with comprehensive format support and good HLS compatibility, easy to integrate.
ckplayer: A veteran domestic player supporting multiple formats and protocols, supporting ad integration, not updated for 3.5 years.
dplayer: An HTML5 danmaku video player supporting HLS, not updated for 3 years.
The evolutionary path of HLS is a technological history that constantly moves forward around the goals of "Higher Definition, Lower Latency, Higher Efficiency, Wider Compatibility." From the initial .ts streams to today's unified low-latency CMAF, every evolution has precisely addressed the pain points developers faced in specific eras.
In the future, with the popularization of next-generation codecs like AV1, and deep integration with AI, VR/AR, and other technologies, HLS's evolutionary path will continue. Understanding its past and mastering its present will help every video developer better build excellent
Post a Comment