HTTP Live Streaming
   HOME

TheInfoList



OR:

HTTP Live Streaming (also known as HLS) is an
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
-based
adaptive bitrate streaming Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. While in the past most video or audio streaming technologies utilized streaming protocols such as RTP with RTSP. Today's adaptive streaming tech ...
communications protocol developed by
Apple Inc. Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
and released in 2009. Support for the protocol is widespread in media players, web browsers, mobile devices, and streaming media servers. As of 2019, an annual video industry survey has consistently found it to be the most popular streaming format. HLS resembles
MPEG-DASH Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple' ...
in that it works by breaking the overall stream into a sequence of small HTTP-based file downloads, each downloading one short chunk of an overall potentially unbounded transport stream. A list of available streams, encoded at different bit rates, is sent to the client using an extended M3U playlist. Based on standard HTTP transactions, HTTP Live Streaming can traverse any
firewall Firewall may refer to: * Firewall (computing), a technological barrier designed to prevent unauthorized or unwanted communications between computer networks or hosts * Firewall (construction), a barrier inside a building, designed to limit the spr ...
or
proxy server In computer networking, a proxy server is a server application that acts as an intermediary between a client requesting a resource and the server providing that resource. Instead of connecting directly to a server that can fulfill a request ...
that lets through standard HTTP traffic, unlike UDP-based protocols such as RTP. This also allows content to be offered from conventional HTTP servers and delivered over widely available HTTP-based
content delivery network A content delivery network, or content distribution network (CDN), is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially re ...
s. The standard also includes a standard encryption mechanism and secure-key distribution using
HTTPS Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protocol is enc ...
, which together provide a simple
DRM DRM may refer to: Government, military and politics * Defense reform movement, U.S. campaign inspired by Col. John Boyd * Democratic Republic of Madagascar, a former socialist state (1975–1992) on Madagascar * Direction du renseignement milita ...
system. Later versions of the protocol also provide for trick-mode fast-forward and rewind and for integration of subtitles. Apple has documented HTTP Live Streaming as an
Internet Draft An Internet Draft (I-D) is a document published by the Internet Engineering Task Force (IETF) containing preliminary technical specifications, results of networking-related research, or other technical information. Often, Internet Drafts are int ...
(Individual Submission), the first stage in the process of publishing it as a
Request for Comments A Request for Comments (RFC) is a publication in a series from the principal technical development and standards-setting bodies for the Internet, most prominently the Internet Engineering Task Force (IETF). An RFC is authored by individuals or g ...
(RFC). As of December 2015, the authors of that document have requested the RFC Independent Stream Editor (ISE) to publish the document as an informational (non-standard) RFC outside of the
IETF The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
consensus process. In August 2017, was published to describe version 7 of the protocol.


Architecture

HTTP Live Streaming uses a conventional
web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiate ...
, that implements support for HTTP Live Streaming (HLS), to distribute audiovisual content and requires specific software, such as OBS to fit the content into a proper format (
codec A codec is a device or computer program that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder. In electronic communications, an endec is a device that acts as both an encoder and a decoder on a signal or da ...
) for transmission in real time over a
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
. The service architecture comprises: ;Server :Codify and encapsulate the input video flow in a proper format for the delivery. Then it is prepared for distribution by segmenting it into different files. In the process of intake, the video is encoded and segmented to generate video fragments and index file. :* Encoder: codify video files in
H.264 Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distr ...
format and audio in AAC,
MP3 MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio developed largely by the Fraunhofer Society in Germany, with support from other digital scientists in the United States and elsewhere. Origin ...
, AC-3 or EC-3. This is encapsulated by MPEG-2 Transport Stream or
MPEG-4_Part_14 MPEG-4 Part 14 or MP4 is a digital multimedia container format most commonly used to store video and audio, but it can also be used to store other data such as subtitles and still images. Like most modern container formats, it allows stream ...
to carry it. :* Segmenter: divides the stream into fragments of equal length. It also creates an index file that contains references of the fragmented files, saved as .m3u8. ;Distributor :Formed by a standard web server, accepts requests from clients and delivers all the resources (.m3u8 playlist file and .ts segment files) needed for streaming. ;Client :Request and download all the files and resources, assembling them so that they can be presented to the user as a continuous flow video. The client software downloads first the index file through a URL and then the several media files available. The playback software assembles the sequence to allow continued display to the user.


Features

HTTP Live Streaming provides mechanisms for players to adapt to unreliable network conditions without causing user-visible playback stalling. For example, on an unreliable wireless network, HLS allows the player to use a lower quality video, thus reducing bandwidth usage. HLS videos can be made highly available by providing multiple servers for the same video, allowing the player to swap seamlessly if one of the servers fails.


Adaptability

To enable a player to adapt to the bandwidth of the network, the original video is encoded in several distinct quality levels. The server serves an index, called a "master playlist", of these
encodings In communications and information processing, code is a system of rules to convert information—such as a letter, word, sound, image, or gesture—into another form, sometimes shortened or secret, for communication through a communication ...
, called "variant streams". The player can then choose between the variant streams during playback, changing back and forth seamlessly as network conditions change.


Using fragmented MP4

At WWDC 2016 Apple announced the inclusion of byte-range addressing for fragmented MP4 files, or fMP4, allowing content to be played via HLS without the need to multiplex it into MPEG-2 Transport Stream. The industry considered this as a step towards compatibility between HLS and
MPEG-DASH Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple' ...
.


Low Latency HLS

Two unrelated HLS extensions with a "Low Latency" name and corresponding acronym exist: * Apple Low Latency HLS (ALHLS) which was announced by Apple at WWDC2019 * "Community LHLS" (LHLS) which predated Apple's publication and is allegedly simpler The remainder of this section describes Apple's ALHLS. It reduces the glass-to-glass delay when streaming via HLS by reducing the time to start live stream playbacks and maintain that time during a live streaming event. It works by adding partial media segment files into the mix, much like MPEG-CMAF's fMP4. Unlike CMAF, ALHLS also supports partial MPEG-2 TS transport files. A partial media segment is a standard segment (e.g. 6 seconds) split into equal segments of less than a second (e.g. 200 milliseconds).  The standard first segment is replaced by the series of partial segments.  Subsequent segments are of the standard size. HTTP/2 is required to push the segments along with the playlist, reducing the overhead of establishing repeated HTTP/TCP connections. Other features include: * Playlist Delta Updates: only sending what changed between playlist, which typically fit in single MTU making it more efficient to load the playlists which, with large DVR windows, can be quite large. * Blocking of playlist reload: when requesting live media playlists, wait until the first segment is also ready, and return both at same time (saving additional HTTP/TCP requests) * Rendition Reports: add metadata to other media renditions to make switching between ABR faster *New tags added: EXT-X-SERVER-CONTROL / EXT-X-PART / EXT-X-SKIP / EXT-X-RENDITION-REPORT *URL QUERY_STRING ?_HLS callbacks added Apple also added new tools: "tsrecompressor" produces and encodes a continuous low latency stream of audio and video. The "mediastreamsegmenter" tool is now available in a low latency version. It is a HLS segmenter which takes in an UDP/MPEG-TS stream from tsrecompressor and generates a media playlist, including the new tags above. Support for low-latency HLS is available in tvOS 13 beta, and iOS & iPadOS 14. On April 30, 2020, Apple added the low latency specifications to the second edition of the main HLS specification.


Dynamic ad insertion

Dynamic ad insertion is supported in HLS using splice information based on
SCTE-35 SCTE-35 (ANSI/SCTE 35 2013) is a joint ANSI/ Society of Cable and Telecommunications Engineers standard that describes the inline insertion of cue tones in mpeg-ts streams. The full standard name is "Digital Program Insertion Cueing Message for Cabl ...
specification. The SCTE-35 splice message is inserted on the media playlist file using the EXT-X-DATERANGE tag. Each SCTE-35 splice_info_section() is represented by an EXT-X-DATERANGE tag with a SCTE35-CMD attribute. A SCTE-35 splice out/in pair signaled by the splice_insert() commands are represented by one or more EXT-X-DATERANGE tags carrying the same ID attribute. The SCTE-35 splice out command should have the SCTE35-OUT attribute and the splice in command should have the SCTE35-IN attribute. Between the two EXT-X-DATERANGE tags that contain the SCTE35-OUT and SCTE35-IN attributes respectively there may be a sequence of media segment URIs. These media segments normally represent ad programs which can be replaced by the local or customized ad. The ad replacement does not require the replacement of the media files, only the URIs in the playlist need to be changed to point different ad programs. The ad replacement can be done on the origin server or on the client’s media playing device.


Server implementations

Notable server implementations supporting HTTP Live Streaming include: * Adobe Media Server supports HLS for iOS devices (HLS) and Protected HTTP Live Streaming (PHLS). * Akamai supports HLS for live and on-demand streams. * AT&T supports HLS in all formats live or on-demand. * Axis Communication IP cameras supports HLS vi
CamStreamer
App ACAP * Instart supports HLS for on-demand streams. *
Amazon CloudFront Amazon CloudFront is a content delivery network (CDN) operated by Amazon Web Services. Content delivery networks provide a globally-distributed network of proxy servers that cache content, such as web videos or other bulky media, more locally t ...
supports HLS for on-demand streams. * Bitmovin supports HLS for on-demand and live streaming. *
CDNetworks Founded in 2000, CDNetworks is a full-service content delivery network (CDN) which provides technology, network infrastructure, and customer services for the delivery of Internet content and applications. The company is positioning itself as a mu ...
supports HLS for live and on-demand streams. *
Cisco Systems Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational corporation, multinational digital communications technology conglomerate (company), conglomerate corporation headquartered in San Jose, California. Cisco develo ...
: supports full end to end delivery for Live/TSTV/VOD/HLS and Cloud DVR services. *
Cloudflare Cloudflare, Inc. is an American content delivery network and DDoS mitigation company, founded in 2009. It primarily acts as a reverse proxy between a website's visitor and the Cloudflare customer's hosting provider. Its headquarters are in San ...
supports HLS for live and on-demand streams. *
EdgeCast Networks Edgecast Networks, Inc. (formerly Verizon Digital Media Services) was a subsidiary of Yahoo! Inc. (2017–present), Yahoo! Inc. and provider of content delivery network (CDN) and video streaming services. Founded in 2006, it was notable for bein ...
supports cross-device streaming using HLS. *
Fastly Fastly is an American cloud computing services provider. It describes its network as an edge cloud platform, which is designed to help developers extend their core cloud infrastructure to the edge of the network, closer to users. The Fastly edge ...
supports HLS for live and on-demand streams. *
Helix Universal Server The Helix Universal Media Server was a product developed by RealNetworks and originates from the first streaming media server originally developed by Progressive Networks in 1994. It supported a variety of streaming media delivery transports inc ...
from RealNetworks supports iPhone OS 3.0 and later for live and on-demand HTTP Live or On-Demand streaming of H.264 and AAC content to iPhone, iPad and iPod. *
IIS Media Services Internet Information Services (IIS-pronounced 2S, formerly Internet Information Server) is an extensible web server software created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTPS, FTP, FTPS, SMTP and NNTP. ...
from
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
supports live and on-demand Smooth Streaming and HTTP Live Streaming. * Level 3 supports HLS live and on-demand streams. *
Limelight Networks Edgio, Inc., formerly Limelight Networks, Inc., is an American company that provides a content delivery network (CDN) service, used for delivery of digital media content and software. As of January 2023, the company's network has more than 300 ...
supports HLS for some accounts. *
Nginx Nginx (pronounced "engine x" ) is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software ...
with the nginx-rtmp-module supports HLS in live mode. Commercial version Nginx Plus, which includes ''ngx_http_hls_module'' module, also supports HLS/HDS VOD. *
Nimble Streamer Nimble may refer to: * HMS Nimble, the name of several Royal Navy vessels * RMAS Nimble (A222), a British naval auxiliary ship * USS Nimble, the name of two US Navy vessels * Castle Nimble, a castle in Wales * Camp Nimble, a US Army post in South ...
supports HLS in live and VOD mode, Apple Low Latency HLS spec is also supported. *
Node.js Node.js is an open-source server environment. Node.js is cross-platform and runs on Windows, Linux, Unix, and macOS. Node.js is a back-end JavaScript runtime environment. Node.js runs on the V8 JavaScript Engine and executes JavaScript code o ...
with the hls-server package supports hls encoding to live mode and local files conversion. *
Storm Streaming Server A storm is any disturbed state of the natural environment or the atmosphere of an astronomical body. It may be marked by significant disruptions to normal conditions such as strong wind, tornadoes, hail, thunder and lightning (a thunderstorm), ...
supports HLS as backup mode for its Media Source Extensions player *
Tata Communications Tata Communications Limited (previously known as Videsh Sanchar Nigam Limited) is an Indian telecommunications company. It was previously a government- owned-telecommunications service provider and under the ownership of Department of Telec ...
CDN CDN may refer to: Places * Canada (Canadian), a North American country * , a neighborhood in Montreal, Quebec, Canada Technology * Content delivery network, on the Internet * Change detection and notification, of Web pages Transportation * Can ...
supports HLS for live and on-demand streams. *
TVersity TVersity Media Server is a software application that streams multimedia content from a personal computer to UPnP, DLNA and mobile devices (Chromecast is also supported). It was the first media server to offer real-time transcoding. Some examples ...
supports HLS in conjunction with on-the-fly transcoding for playback of any video content on iOS devices. *
Unreal Media Server Unreal Media Server is a streaming server software created by Unreal Streaming Technologies. Streaming protocol support * UMS protocol (proprietary) for streaming to Unreal Streaming Media Player on Windows OS * WebRTC protocol for live stream ...
supports low latency HLS as of version 9.5. *
Ustream IBM Watson Media (formerly Ustream and IBM Cloud Video) is an American virtual events platform company which is a division of IBM. Prior to IBM acquisition, it had more than 180 employees across San Francisco, Los Angeles, and Budapest offices. ...
supports HLS delivery of live broadcasts. The ingested stream is re-transcoded if the original audio and video codec falls outside HLS requirements. *
VLC Media Player VLC media player (previously the VideoLAN Client and commonly known as simply VLC) is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desk ...
supports HLS for serving live and on-demand streams as of version 2.0. *
Wowza Streaming Engine Wowza Streaming Engine (known as Wowza Media Server prior to version 4) is a unified streaming media server software developed by Wowza. The server is used for streaming of live and on-demand video, audio, and rich Internet applications over IP ...
from ''Wowza Media Systems'' supports HLS and encrypted HLS for live (with DVR), on-demand streaming and Apple Low Latency HLS spec.


Usage

*
Google Google LLC () is an American multinational technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
added HTTP Live Streaming support in Android 3.0 (Honeycomb). * HP added HTTP Live Streaming support in
webOS webOS, also known as LG webOS and previously known as Open webOS, HP webOS and Palm webOS, is a Linux kernel-based multitasking operating system for smart devices such as smart TVs that has also been used as a mobile operating system. Initially ...
3.0.5. * Microsoft added support for HTTP Live Streaming in EdgeHTML rendering engine in Windows 10 in 2015. * Microsoft added support for HTTP Live Streaming in IIS Media Services 4.0. * Yospace added HTTP Live Streaming support in Yospace HLS Player and SDK for flash version 1.0. *
Sling Media Sling Media Inc. is an American technology company that develops placeshifting and Smart TV solutions for consumers, multiple-system operators and set top box manufacturers. The company is based in Foster City, California, and was a subsidiary of ...
added HTTP Live Streaming support to its
Slingbox The Slingbox was a TV streaming media device made by Sling Media that encoded local video for transmission over the Internet to a remote device (sometimes called placeshifting). It allowed users to remotely view and control their cable, satel ...
es and its SlingPlayer apps. * In 2014/15, the
BBC #REDIRECT BBC #REDIRECT BBC Here i going to introduce about the best teacher of my life b BALAJI sir. He is the precious gift that I got befor 2yrs . How has helped and thought all the concept and made my success in the 10th board exam. ...
...
introduced HLS-AAC streams for its live internet radio and on-demand audio services, and supports those streams with its
iPlayer Radio BBC iPlayer (stylised as iPLAYER or BBC iPLAYER) is a video on demand service from the BBC. The service is available on a wide range of devices, including mobile phones and tablets, personal computers and smart televisions. iPlayer services del ...
clients. *
Twitch Twitch may refer to: Biology * Muscle contraction ** Convulsion, rapid and repeated muscle contraction and relaxation ** Fasciculation, a small, local, involuntary muscle contraction ** Myoclonic twitch, a jerk usually caused by sudden muscle co ...
uses HTTP Live Streaming (HLS) to transmit and scale the live streaming to many concurrent viewers, also supporting multiple variants (e.g., 1080p, 720p, etc).


Supported players and servers

HTTP Live Streaming is natively supported in the following operating systems: *
Windows 10 Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on J ...
version 1507 to 2004 (
Microsoft Edge Microsoft Edge is a proprietary, cross-platform web browser created by Microsoft. It was first released in 2015 as part of Windows 10 and Xbox One and later ported to other platforms as a fork of Google's Chromium open-source project: Android ...
Legacy) (no longer supported) *
Windows 11 Windows 11 is the latest major release of Microsoft's Windows NT operating system, released in October 2021. It is a free upgrade to its predecessor, Windows 10 (2015), and is available for any Windows 10 devices that meet the new Windows 11 ...
Media Player *
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
10.6+ ( Safari and
QuickTime QuickTime is an extensible multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. Created in 1991, the latest Mac version, QuickTime X, is avai ...
) *
iOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
3.0+ ( Safari) * Android 4.1+ (
Google Chrome Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, built with free software components from Apple WebKit and Mozilla Firefox. Versions were later released for Linux, macOS ...
)
Windows 10 Windows 10 is a major release of Microsoft's Windows NT operating system. It is the direct successor to Windows 8.1, which was released nearly two years earlier. It was released to manufacturing on July 15, 2015, and later to retail on J ...
used to have native support for HTTP Live Streaming in EdgeHTML, a proprietary browser engine that was used in Microsoft Edge (now referred to as Edge Legacy) before the transition to the Chromium-based Blink browser engine. Edge Legacy was included in Windows 10 up till version 2004. It was replaced by Edge Chromium in version 20H2. Along with
Windows 11 Windows 11 is the latest major release of Microsoft's Windows NT operating system, released in October 2021. It is a free upgrade to its predecessor, Windows 10 (2015), and is available for any Windows 10 devices that meet the new Windows 11 ...
, Microsoft released an updated Media Player that supports HLS natively.


Clients


Servers


Live Encoders


VOD encoders


See also

*
Adaptive bitrate streaming Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks. While in the past most video or audio streaming technologies utilized streaming protocols such as RTP with RTSP. Today's adaptive streaming tech ...
*
Dynamic Adaptive Streaming over HTTP Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple' ...


References

{{Reflist, 30em Hypertext Transfer Protocol Multimedia Network protocols QuickTime Streaming media systems