HTTP Live Streaming

Last updated
HTTP Live Streaming
Filename extension
.m3u8
Internet media type
application/vnd.apple.mpegurl or audio/mpegurl [1]
Type code .m3u8
Developed byApple Inc.
Initial releaseMay 2009
Extended from extended M3U
Extended to.m3u8
Standard RFC   8216

HTTP Live Streaming (also known as HLS) is an HTTP-based adaptive bitrate streaming communications protocol developed by Apple Inc. and released in 2009. Support for the protocol is widespread in media players, web browsers, mobile devices, and streaming media servers. As of 2022, an annual video industry survey has consistently found it to be the most popular streaming format. [2]

Contents

HLS resembles MPEG-DASH 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. [3]

Based on standard HTTP transactions, HTTP Live Streaming can traverse any firewall or proxy server 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 networks. [4] [5] [6] The standard also includes a standard encryption mechanism [7] and secure-key distribution using HTTPS, which together provide a simple DRM 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 (Individual Submission), the first stage in the process of publishing it as a Request for Comments (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 consensus process. [8] In August 2017, RFC  8216 was published to describe version 7 of the protocol. [9]

Architecture

HTTP Live Streaming uses a conventional web server, 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) for transmission in real time over a network. 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.
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, 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 [11] 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. [12] [13]

Low Latency HLS

Two unrelated HLS extensions with a Low Latency name and corresponding acronym exist:

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. [16] HTTP/2 is required to push the segments along with the playlist, reducing the overhead of establishing repeated HTTP/TCP connections.

Other features include:

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 an HLS segmenter that takes in a 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. [17] On April 30, 2020, Apple added the low latency specifications to the second edition of the main HLS specification. [18]

Dynamic ad insertion

Dynamic ad insertion is supported in HLS using splice information based on SCTE-35 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:

Usage

Supported players and servers

HTTP Live Streaming is natively supported in the following operating systems:

Windows 10 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, Microsoft released an updated Media Player that supports HLS natively.

Clients

ClientPlatformLive StreamingDRMAs of VersionEditor
Safari (web browser) macOS, iOSYesYes6.0+

Has full HLS support.

Apple
Microsoft Edge (web browser)Windows 10Native support on Edge Legacy.

Support via Media Source Extensions on Edge Chromium.

YesSupported natively on Edge Legacy's engine EdgeHTML from version 12 to 18.

No native support on Edge Chromium from version 79 to present. [33]

Microsoft
Google Chrome (web browser) / Chromium Windows, macOS, Linux, Android, iOSOS-dependent support on Android/iOS.

Support via Media Source Extensions on other OS.

Yes30+

Android and iOS have OS-dependent native support.

Other platforms require Media Source Extensions.

Google
Firefox (web browser)Windows, macOS, Linux, Android, iOSOS-dependent support on Android/iOS.

Support via Media Source Extensions on other OS.

Yes50.0+ for Android [34] and 57.0 for others, [35] 59.0 has enhanced support for Android [36]

Other platforms require Media Source Extensions.

Mozilla
QuickTime Player (media player)macOSYesYes10.0+

Has full HLS support.

Apple
iTunes (music player)Windows, macOSYesYes10.1+ [37]

Has full HLS support.

To play a HLS stream, go to File > Open Stream and replace "http://" with "itls://" (for video streams) or "itals://" (for audio streams) in the stream URL.

Apple
Windows Media Player (2022) (media player)Windows 10, Windows 11YesYesDoes not include the original Win32 version of Windows Media Player.Microsoft
StreamS HiFi Radio (radio player)iOS, tvOS

iPhone, iPad, and AppleTV

YesYes7.3+

Plays Internet Radio Streams

HLS Audio - 100% Compliant
AAC-LC/HE-AAC/xHE-AAC 2.0 Stereo/5.1-7.1 Surround
ES - Elementary Stream ADTS
fMP4 - Fragmented ISO MP4
Displays Synchronous Realtime Metadata and Graphics

StreamS/Modulation Index LLC
VLC media player (media player)Windows, macOS, Linux, Android, iOS, Windows PhoneYesUn­knownVLC 2.x [38] has partial support up to HLS version 3 (otherwise will load as M3U playlist, individual chunks sequence). [39]

VLC 3.0 has full HLS support.

VideoLAN
Media Player Classic Home Cinema (media player)WindowsYesYesGabest, Doom9 forum users
PotPlayer (media player)WindowsYesYes Daum Communications
MPlayer / SMPlayer / mpv (media player) Windows, macOS, Linux, BSDYesYesRicardo Villalba
GOM Player (media player)WindowsYesYesGretech
Cameleon (live video streaming software)Windows, macOSYesUn­knownYatko
Audacious (software) (music player)Windows, LinuxYesYesAudacious
Radio Tray (radio player)LinuxYesYesCarlos Ribeiro
Kodi (software) (home entertainment application)Windows, macOS, Linux, Android, iOSYesPartial12.0 Alpha 5 and later
DRM support requires a monthly/nightly build
XBMC Foundation
MythTV (home entertainment application)Windows, macOS, Linux, FreeBSDYesYes0.26 MythTV
JRiver Media Center (home entertainment application)Windows, macOSYesYesJRiver
XiiaLive (radio player)Android, iOSYesYes3.0+
Plays internet radio streams (audio only).
Visual Blasters LLC
Tunein radio (radio player)Android, iOSYesYes3.3+
Plays internet radio streams (audio only).
TuneIn
myTuner Radio (radio player)Android, iOS, Windows Phone, Windows 8, macOSYesYesPlays internet radio streams (audio only).AppGeneration Software
Internet Radio Player (radio player)AndroidYesYesPlays internet radio streams (audio only).MuserTech
GuguRadio (radio player)iOSYesYesPlays internet radio streams (audio only).Leon Fan
AIMP (media player)Windows, AndroidYesUn­known4.10+ (build 1827)
Plays internet radio streams (audio only).
Artem Izmaylov
Mini Stream Player (media player)AndroidYesYesJogiApp
MX Player (media player)AndroidYesYesJ2 Interactive
TV Streams (media player)macOS, iOS, tvOSYesYesv7.1Tiago Martinho
HP TouchpadWebOSYesYes3.0.5HP
Amino x4x STBAmino set-top boxesYesYes2.5.2 Aminet Aminocom.com
Dune HD TVDune HD set-top boxesYesYesTV series dunehd.com
CTU Systems LtdCTU Systems Ltd Eludo Play Out SystemYesYesTV series ctusystems.com
nangu.TVMotorola set-top boxesYesYes2.0 nangu.TV
Roku Digital Video PlayerRoku set-top boxesYesYes Roku OS / SDK 2.6 Roku
Telebreeze PlayerHTML, Android, iOS, Windows, MacOS, Roku, MAG Infomir, Samsung Tizen, LG WebOS, Google Chromecast, tvOS, Amazon Fire TV, AndroidTVYesYesTelebreeze
bitdash (SDK)HTML5 or Flash, Web and MobileYesYesVersion 3.0+ bitmovin
3ivx (SDK)Windows 8, Windows Phone 8 [40] & Xbox One [41] YesYes2.0 3ivx
THEOplayer [42] HTML5, SDK (Android, iOS, Android TV, tvOS, Chromecast, WebOS, FireTV, Tizen)YesYesTHEO Technologies
Viblast Player (SDK)HTML5, iOS, AndroidYesPartialViblast Ltd
Flowplayer (SDK)Adobe Flash, iOS, Android, HTML5 (hlsjs plugin)YesYesThe Flash HLS plugin is available from GitHub.Flowplayer Ltd
JW Player (SDK)Adobe Flash, iOS, Android, HTML5YesYesHLS is provided in all JW Player versions as of JW8 (latest)JW Player
Radiant Media Player (SDK)Adobe Flash, HTML5YesYes1.5.0 [43] Radiant Media Player
Yospace (SDK)Adobe FlashYesYes2.1 Yospace
Onlinelib (SDK)Adobe FlashYesYes2.0 Onlinelib.de
VODOBOX HLS Player (online service)Adobe Flash, HTML5, iOS, AndroidYesYesVodobox
NexPlayer (SDK)HTML5 (MSE Browsers), Android (mobile, TV, STB), iOS, Chromecast, Windows, Mac, Linux, Tizen, WebOSYesYesNexStreaming
ffplay/avplay (multimedia framework)YesPartial FFmpeg/Libav
GPAC (multimedia framework)YesNo0.5.0Telecom ParisTech inc.
QuickPlayer (SDK)Android, iOS, Windows 7, 8, 8,1 and 10YesYesSquadeo
hls.js (MSE)MSE BrowsersYesUn­known Dailymotion open source [44] [45]
hasplayer.js (MSE)MSE BrowsersYesUn­knownopen source [46]
Hola Player (video player)HTML5, Adobe Flash, iOS, AndroidYesYesAll versionsHola Ltd open source [47]
Shaka Player (SDK)HTML5 (MSE Browsers)Coming soonPartial2.1Open Source [48] [49]
Fluid Player (Video Player)HTML5 (MSE Browsers)YesYes2.2.0+Fluid Player OSS [50] [51] [52]
Video.jsMSE Browsers. Flash with flashls source handler fallback.YesYesOpen source
foobar2000 (audio player)WindowsYesUn­known1.6.1Peter Pawłowski
QMPlay2 (media player)Windows, macOS, LinuxYesUn­knownIt has VU meters and a spectrum analyzer Open source [53]

Servers

ProductTechnologyAs Of VersionEditorFreeNotes
ANEVIA Genova LiveBundled software for transcoding to H.264 & HEVC, and packaging to HLS, MPEG-DASH, MS Smooth Streaming AneviaNo
AvProxyLight software for live streaming
Input and output streams : HTTP(S), HLS(S)/AES-128, UDP, RTP, MPTS demux
2.19 [54] YesProprietary but free for use
bitcodinSaaS bitmovin No [55]
VLC1.2Yes
Video CloudSaaS Brightcove No [56]
IIS Media Services4.0 [28] MicrosoftNo
Antik Media StreamerIngest Module (UDP/HTTP Transport Stream, Backup Stream with auto-switching, stream status monitoring and logging), Stream replication UDP/HTTP, HLS streaming, Video archive with snapshots, Server-side Timeshift, time zone shifting with multiple time zones, Stream Encryption using AES and key-rotation (with Antik Key Server)3.0Antik technologyNo
Adobe Media Server Live and VOD streaming as origin and edge server5.0AdobeNo
Evostream Media ServerCross-platform including embedded systems such as encoders, IP cameras, DVRs, and more. Supports: Adobe Flash RTMP, RTMPS, LiveFLV, full transcoder for creating lower bitrate streams, HTTP Live Streaming (HLS) for streaming to iPhones, iPads and Androids, HTTP Dynamic Streaming (HDS) for Adobe Air, Microsoft Smooth Streaming (MSS) for Microsoft devices, RTSP with RTP or MPEG-TS, MPEG-TS (unicast/multicast), compatible Live Encoding, strong security for your content ( Verimatrix DRM, HLS AES encryption, Stream Aliasing, Watermarking), built-in clustering mechanism and more.1.6.5EvoStreamNo
MythTV0.25 MythTV Yes
MACNETIX VOD-Server3.0MACNETIXNo
Anevia NEA Live ServersTranscapsulation: from one input, several outputs
(HLS, MS Smooth Streaming, ADS Flash, MPEG DASH)
AneviaNo
Packet Ship OverView:Origin ServerCapture from IPTV multicast and chunking to HLS for multi-bandwidth live streams, with AES encryption2.1Packet ShipNo
nangu.TV Streamerson-the-fly adaptation: content is stored once enabling several outputs
(HLS, MS Smooth Streaming, ADS Flash, MPEG DASH)
nangu.TV No
TVersity Media Server1.9TVersityNoPro Edition only
Helix Universal Server Live + VOD HLS with Verimatrix DRM integration, ABR, Multi-Resolution, AES encryption15.0+RealNetworksNoHigh performance HLS (12,000+ concurrent devices)
Wowza Streaming Engine Live and VOD streaming as origin and edge server with DVR, DRM Integration and Transcoding for adaptive delivery. Outputs to MPEG-DASH, HLS, HDS, Smooth Streaming, RTMP, and RTSP. Supports Apple Low Latency HLS.2.0+Wowza Media SystemsNo
Unified Streaming PlatformMuxes media content from one unified source to multiple outputs (Smooth Streaming, HDS, HLS and MPEG DASH)Unified StreamingNo
VODOBOX Live ServerOutputs HTTP Live Streaming with Adaptive bitrate streaming (up to 6 simultaneous qualities).
Video codecs : AVC H.264 / HEVC H.265
Audio codecs : MP3 / AAC
Transport layers : HTTP / FTP / Amazon AWS S3 / Microsoft Azure Web Storage / writing to disk (NetBios / Samba)
Hostings : internal HTTP Web server and/or external Web servers (ex: Apache HTTP server, Microsoft IIS, Nginx, etc.)
1.0VodoboxYesSupports input live streams from DVB-T devices, satellite receivers (Dreambox), IP streams (RTSP, RTMP, MMS, HTTP), Microsoft DirectShow drivers (video capture cards, live production software, camera). Encoder is compliant with Intel Quick Sync Video and Nvidia NVENC hardware acceleration.
Flixwagon Platform Video ServerFlixwagonNo
StreamCoder Live EncoderRealtime video encoder (inputs : DVB/IP stream or video signal). Supports multi-bitrates and multi-languagesEktacomNo
Apache HTTP Server Apache Software Foundation Yes
Unreal Media Server 9.5Unreal Streaming TechnologiesNoLatency of live streams can be as low as 2.5 seconds over the Internet
Nimble Streamer RTMP / RTSP / Icecast / MPEG-TS to ABR HLS. MP4 / MP3 to VOD HLS. Apple Low Latency HLS spec is supported.1.0.0-xWMSPanelNo
Nginx-rtmp-moduleFree module for nginx server with support of HLS live streaming. Compliant with iOS and Android.0.9.xRoman ArutyunyanYes
Nginx PlusVOD HLS as origin NGINX, Inc. No
Flussonic Media ServerMulti-platform support for HTTP, RTSP, RTMP, DASH, Time Shifting, DVR Functions with Unlimited Rewind Capabilities HLS streaming specific to iOS platform support.3.0+Flussonic, LLC.NoSupporting a magnitude of features with full HTTP support.
VBrick Distributed Media Engine ("DME")2.0VBrick Systems, Inc.NoLive and stored HLS. Live can be transmuxed from several input mux including RTP, RTMP, and MPEG-TS using H.264 encoding
Telebreeze Coder / Media ServerInput streams / interfaces: UDP, TCP, RTP, HLS, HTTP, RTMP (MPEG-TS)
Output Streams: HLS, HTTP, UDP
Preprocessing: Resize, Deinterlace, Frame Rate Conversion, Audio Resampling, Logo Rendering
TelebreezeNo
LEADTOOLS Media Streaming Server SDKConverts files on the fly to Adobe HDS, Apple HLS, MPEG-DASH, Microsoft Smooth Streaming, RTSP.19.0 LEAD Technologies No
MC-ROUTEMultifunctional software for live stream routing and protocol conversion4.4 Teracue NoSupported protocols: TS over UDP, RTP, TCP, HLS, HTTP, RTSP/RTP
Direkt routerLive hardware decoder with SDI, NDI out and transcoding4.1 Intinor NoSupported protocols in: TS over UDP, RTP, TCP, HLS, HTTP, RTMP out: UDP, RTP, TCP, RTMP
Elecard CodecWorksProfessional platform for real-time encoding and transcoding into HEVC/H.265, AVC/H.264 and MPEG-2 video supporting adaptive bitrate streaming via HLS and MPEG-DASH protocols.4.6ElecardNoSupported protocols: TS over UDP/RTP/SRT, RTMP Output, HLS, MPEG-DASH output, UDP/RTP/SRT, NDI
TAC - Teracue Application CloudProfessional stream routing and real-time encoding/transcoding platform supporting various audio and video codedc and streaming protocols1.0TeracueNoSupported protocols IN and OUT: UDP, RTP, RTSP, RTMP, TCP (Client/Server), HLS, HTTP, FEC, SRT

Supported prptpcols IN only: SDVoE and NDI

Peertube A free and open-source, decentralized, ActivityPub federated video platform using HLS peer-to-peer technology to reduce load on individual servers when viewing videos.1.3.0YesVideos are made available via HTTP to download, but playback favors a peer-to-peer playback using HLS and WebTorrent.

Live Encoders

ProductTechnologyAs Of VersionEditorFreeNotes
ENC-400 SeriesLive hardware encoder with SDI or HDMI1.0TeracueNoSupported protocols: TS over UDP,RTP, TCP, RTP/RTSP, RTMP push, HLS
WELLAV NB100Live Streamcast with SDI or HDMI, CVBS1.0Wellav TechnologiesNoSupported protocols: TS UDP,RTP, RTP/RTSP, RTMP, HLS;
ZyPerMX4Live hardware encoder with 4 HDMI inputs2.14ZeeVeeNoSupported protocols: TS over UDP,RTP, H.264/MPEG-4 AVC, HLS, RTMP, RTSP
ZyPerMX2Live hardware encoder with 2 HDMI inputs2.14ZeeVeeNoSupported protocols: TS over UDP,RTP, H.264/MPEG-4 AVC, HLS, RTMP, RTSP
Elecard CodecWorksLive software encoder with up to 8 SDI/HDMI or NDI inputs4.6ElecardNoSupported protocols: TS UDP,RTP,SRT, RTMP push, HLS, Mpeg-DASH
StreamS Live EncoderLive software/hardware audio encoder with professional interface options3.0StreamSNoSupported protocols: HLS/DASH ES, fMP4, FTP, FTPS, HTTP, HTTPS, DAV, DAVS, Akamai, Amazon S3, Microsoft BLOB, Google Cloud
AAC-LC/HE-AAC/xHE-AAC - Synchronous Realtime Now Playing and Control Metadata and Graphics

VOD encoders

ProductTechnologyAs Of VersionEditorFreeNotes
VODOBOX HLS EncoderConverts video files into pre-encoded HLS Adaptive bitrate streaming, ready to be hosted and broadcast through Apache HTTP server / Microsoft IIS / Nginx Web servers. Supports AVC H.264 / HEVC H.265 / MPEG-TS / Fragmented MP4 / Alternate Audio / Alternate Subtitles.1.0VodoboxYesTranscodes classic video files (avi, mp4, m2ts, mkv, ...) into HLS streams with multi-qualities for VOD or replay usage. Hardware encoding can be accelerated by Intel Quick Sync Video and Nvidia NVENC technologies.
MediaGoom HLS Packager [57] Convert mp4 files encoded with multibitrate to HLS chunks.0.1MediagoomYesSupport both Linux and Windows.

See also

Related Research Articles

QuickTime is a discontinued extensible multimedia architecture created by Apple, which supports playing, streaming, encoding, and transcoding a variety of digital media formats. The term QuickTime also refers to the QuickTime Player front-end media player application, which is built-into macOS, and was formerly available for Windows.

Helix DNA was a project to produce computer software that can play audio and video media in various formats and aid in creating such media. It is intended as a largely free and open-source digital media framework that runs on numerous operating systems and processors and it was started by RealNetworks, which contributed much of the code. The Helix Community was an open collaborative effort to develop and extend the Helix DNA platform. The Helix Project has been discontinued.

3ivx was an MPEG-4 compliant video codec suite, created by 3ivx Technologies, based in Sydney, Australia. 3ivx video codecs were released from 2001 to 2012, with releases of related technologies continuing until 2015. 3ivx provided plugins to allow the MPEG-4 data stream to be wrapped by the Microsoft ASF and AVI transports, as well as Apple's QuickTime transport. It also allowed the creation of elementary MP4 data streams combined with AAC audio streams. It only supported MPEG-4 Part 2, it did not support H.264 video.

Motion JPEG is a video compression format in which each video frame or interlaced field of a digital video sequence is compressed separately as a JPEG image.

Advanced Audio Coding (AAC) is an audio coding standard for lossy digital audio compression. It was designed to be the successor of the MP3 format and generally achieves higher sound quality than MP3 at the same bit rate.

M3U is a computer file format for a multimedia playlist. One common use of the M3U file format is creating a single-entry playlist file pointing to a stream on the Internet. The created file provides easy access to that stream and is often used in downloads from a website, for emailing, and for listening to Internet radio.

Flash Video is a container file format used to deliver digital video content over the Internet using Adobe Flash Player version 6 and newer. Flash Video content may also be embedded within SWF files. There are two different Flash Video file formats: FLV and F4V. The audio and video data within FLV files are encoded in the same way as SWF files. The F4V file format is based on the ISO base media file format, starting with Flash Player 9 update 3. Both formats are supported in Adobe Flash Player and developed by Adobe Systems. FLV was originally developed by Macromedia. In the early 2000s, Flash Video was the de facto standard for web-based streaming video. Users include Hulu, VEVO, Yahoo! Video, metacafe, Reuters.com, and many other news providers.

<span class="mw-page-title-main">GPAC Project on Advanced Content</span>

GPAC Project on Advanced Content is an implementation of the MPEG-4 Systems standard written in ANSI C. GPAC provides tools for media playback, vector graphics and 3D rendering, MPEG-4 authoring and distribution.

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 including MPEG-DASH RTMP (flash), RTSP (standard), HTTP Live Streaming (HLS), Microsoft Silverlight and HTTP Progressive Download enabling mobile phone OS and PC OS media client delivery.

Adaptive bitrate streaming is a technique used in streaming multimedia over computer networks.

Wowza Streaming Engine 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 networks to desktop, laptop, and tablet computers, mobile devices, IPTV set-top boxes, internet-connected TV sets, game consoles, and other network-connected devices. The server is a Java application deployable on most operating systems.

Unified Speech and Audio Coding (USAC) is an audio compression format and codec for both music and speech or any mix of speech and audio using very low bit rates between 12 and 64 kbit/s. It was developed by Moving Picture Experts Group (MPEG) and was published as an international standard ISO/IEC 23003-3 and also as an MPEG-4 Audio Object Type in ISO/IEC 14496-3:2009/Amd 3 in 2012.

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's HTTP Live Streaming (HLS) solution, MPEG-DASH works by breaking the content into a sequence of small segments, which are served over HTTP. An early HTTP web server based streaming system called SProxy was developed and deployed in the Hewlett Packard Laboratories in 2006. It showed how to use HTTP range requests to break the content into small segments. SProxy shows the effectiveness of segment based streaming, gaining best Internet penetration due to the wide deployment of firewalls, and reducing the unnecessary traffic transmission if a user chooses to terminate the streaming session earlier before reaching the end. Each segment contains a short interval of playback time of content that is potentially many hours in duration, such as a movie or the live broadcast of a sport event. The content is made available at a variety of different bit rates, i.e., alternative segments encoded at different bit rates covering aligned short intervals of playback time. While the content is being played back by an MPEG-DASH client, the client uses a bit rate adaptation (ABR) algorithm to automatically select the segment with the highest bit rate possible that can be downloaded in time for playback without causing stalls or re-buffering events in the playback. The current MPEG-DASH reference client dash.js offers both buffer-based (BOLA) and hybrid (DYNAMIC) bit rate adaptation algorithms. Thus, an MPEG-DASH client can seamlessly adapt to changing network conditions and provide high quality playback with few stalls or re-buffering events.

Unreal Media Server is a streaming server software created by Unreal Streaming Technologies.

Media Source Extensions (MSE) is a W3C specification that allows JavaScript to send byte streams to media codecs within web browsers that support HTML5 video and audio. Among other possible uses, this allows the implementation of client-side prefetching and buffering code for streaming media entirely in JavaScript. It is compatible with, but should not be confused with, the Encrypted Media Extensions (EME) specification, and neither requires the use of the other, although many EME implementations are only capable of decrypting media data provided via MSE.

Bitmovin is a multimedia technology company which provides services that transcode digital video and audio to streaming formats using cloud computing, and streaming media players. Founded in 2013, the Austrian company contributes to MPEG-DASH, an open standard that allows streaming video to be played in HTML5 video and Flash players.

SCTE-35 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 Cable."

Nimble Streamer is a software media server developed by Softvelum. The server is used for streaming of live and on-demand video and audio to desktop computers, mobile devices, internet-connected TV sets, IPTV set-top boxes and other network-connected devices. Its first stable version 1.0.0-1 was released on October, 21st, 2013, with a number of preliminary versions done before that. The release cycle is intensive and introduces a new version every week or less. Nimble Streamer was the finalist in Streaming Media European Readers' Choice Awards for 2016 as the Best Streaming Innovation and for 2021 as Hardware/software Server.

References

  1. Pantos, R.; May, W. (2017). "Playlists". HTTP Live Streaming. IETF. p. 9. sec. 4. doi: 10.17487/RFC8216 . ISSN   2070-1721. RFC 8216 . Retrieved Jan 15, 2020.
  2. Lederer, Stefan. "2022 Video Developer Report" (PDF). Bitmovin. Retrieved 25 October 2023.
  3. Jordan, Larry (10 June 2013). "The Basics of HTTP Live Streaming". Larry's Blog. Larry Jordan & Associates. Retrieved 18 June 2013.
  4. "MPEG-DASH vs. Apple HLS vs. Smooth Streaming vs. Adobe HDS". Bitmovin. March 29, 2015.
  5. Chen, Songqing; Shen, Bo; Tan, Wai-tian; Wee, Susie; Zhang, Xiaodong (2006-07-09). "A Case for Internet Streaming via Web Servers". 2006 IEEE International Conference on Multimedia and Expo. pp. 2145–2148. doi:10.1109/ICME.2006.262660. eISSN   1945-788X. ISBN   9781424403677. ISSN   1945-7871. S2CID   9202042.
  6. Songqing Chen; Bo Shen; Wee, S.; Xiaodong Zhang (2007-07-23). "SProxy: A Caching Infrastructure to Support Internet Streaming". IEEE Transactions on Multimedia. 9 (5): 1062–1072. CiteSeerX   10.1.1.74.4838 . doi:10.1109/TMM.2007.898943. ISSN   1520-9210. S2CID   870854.
  7. Pantos, R. (30 September 2011). "HTTP Live Streaming". Internet Engineering Task Force. Retrieved 18 June 2013.
  8. "History for draft-pantos-http-live-streaming" . Retrieved 2017-04-17. Stream changed to ISE from None
  9. Pantos, Roger; May, William (August 2017). HTTP Live Streaming. doi: 10.17487/RFC8216 . RFC 8216 . Retrieved 2017-09-05.
  10. Roger, Pantos; William, May. "HTTP Live Streaming". tools.ietf.org. Retrieved 2017-01-23.
  11. What's New in HTTP Live Streaming. Apple Developer.
  12. Siglin, Tim (16 June 2016). "HLS Now Supports Fragmented MP4, Making it Compatible With DASH". StreamingMedia.com.
  13. Grandl, Reinhard (15 June 2016). "WWDC16: HLS supports Fragmented MP4 – and gets MPEG-DASH compatible!". Bitmovin.com.
  14. Low-Latency HLS. Apple Developer.
  15. "The community gave us low-latency live streaming. Then Apple took it away". 2019-06-14. Retrieved 2019-06-17.
  16. "Apple Developer Documentation". developer.apple.com. Retrieved 2022-08-10.
  17. Speelmans, Pieter-Jan (2020-12-09). "Low-Latency Everywhere: How to implement LL-HLS across platforms". Theo. Retrieved 2021-03-11.
  18. Pantos, Roger (2020-04-30). "HTTP Live Streaming 2nd Edition". IETF. Retrieved 2020-04-30.
  19. "Video CDN | Video Streaming | Stream Delivery | Fastly". www.fastly.com. Retrieved 2020-10-01.
  20. "Encoding Guide". Limelight Orchestrate Video Support. Limelight Networks. Archived from the original on 2013-08-01. Retrieved 14 November 2013.
  21. "Module ngx_http_hls_module". nginx.org.
  22. "hls-server". npm. 12 February 2018.
  23. "Storm Streaming". Storm Streaming. Retrieved 2021-07-30. Output devices: HLS, MPEG-DASH, WebSocket, RTMP
  24. "Unreal Media Server". umediaserver.net. Retrieved 2021-07-30. Unreal Media Server supports ingesting live streams from wide range of live software and hardware encoders that send streams over WebRTC, RTMP, RTSP, MPEG2-TS, HLS,
  25. "Android 3.0 Platform Highlights". Android Developers. Archived from the original on 2011-01-28.
  26. "webOS 3.0.5 Updates". Archived from the original on 2012-01-22.
  27. "Simplified Adaptive Video Streaming: Announcing support for HLS and DASH in Windows 10". Internet Explorer Team Blog. 29 January 2015.
  28. 1 2 Siglin, Tim (1 November 2010). "First Look: Microsoft IIS Media Services 4". StreamingMedia.com. Retrieved 30 July 2011.
  29. Chan, David (November 26, 2010). "iPad App Review: SlingPlayer". Blogcritics. Archived from the original on April 15, 2014. Retrieved April 14, 2014.
  30. Scott, Andrew (27 Feb 2015). "Audio Factory: an overview". Internet Blog. BBC. the only on-demand assets will be AAC HLS. ... We are still talking to manufacturers and many are confident that they will be able to provide their users with access to all 57 of our HLS AAC streams at 320 kb/s within a few weeks or months.
  31. Shen, Yueshi (2017). "Live video transmuxing/transcoding: FFmpeg vs TwitchTranscoder, Part 1".
  32. "Supported media formats". Android Developers.
  33. "HTTP Live Streaming (HLS) | Can I use... Support tables for HTML5, CSS3, etc". caniuse.com.
  34. "Firefox for Android 50.0, See All New Features, Updates and Fixes". Mozilla.
  35. Giles, Ralph; Smole, Martin (28 November 2017). "DASH playback of AV1 video in Firefox". Mozilla Hacks – the Web developer blog.
  36. "Firefox for Android Beta 59.0beta, See All New Features, Updates and Fixes". Mozilla.
  37. Slivka, Eric (15 November 2010). "Hints of 'iTunes Live Stream' Service Found in iTunes 10.1". MacRumors.
  38. "#2943 (Support for HTTP Live Streaming as a client)". VLC bug tracker. 9 July 2009.
  39. "Playing HLS streaming video with VLC player - The VideoLAN Forums". forum.videolan.org.
  40. "Windows 8 - HTTP Live Streaming". www.3ivx.com.
  41. "3ivx - Xbox Live Developer Partner Program - Component Provider". www.3ivx.com.
  42. NV, THEO Technologies. "HTML5 Video Player – THEOplayer". www.theoplayer.com.
  43. Player, Radiant Media. "Version History - Radiant Media Player". www.radiantmediaplayer.com.
  44. "dailymotion – Medium". Medium.
  45. "hls.js demo page". Archived from the original on November 20, 2015.
  46. "Orange-OpenSource/hasplayer.js". GitHub.
  47. "Spark". Spark.
  48. "google/shaka-player". GitHub.
  49. "Shaka Player Demo". shaka-player-demo.appspot.com.
  50. "Fluid Player - HTML5 video player". www.fluidplayer.com.
  51. "Fluid Player Documentation". docs.fluidplayer.com.
  52. "fluid-player/fluid-player". GitHub.
  53. "QMPlay2 - Qt Media Player 2". October 22, 2023 via GitHub.
  54. "marakew/AvProxy". GitHub.
  55. Ozer, Jan (2015). "Review: Bitcodin, a Cloud Video Encoding Service From Bitmovin". www.StreamingMediaGlobal.com.
  56. "Delivering HLS Video - Brightcove Learning". support.brightcove.com.
  57. "MediaGoom. Essential Web Streaming".