Adaptive Bitrate (ABR) streaming has been a core enabler of the streaming video revolution by offering a way to deliver a good user video consumption experience across a wide variety of networks and device types. ABR created a way to solve several practical problems with first generation video delivery systems and the IP protocols they used, including traversal of in-home broadband routers, security and inconsistent user experiences. From a technical point of view, ABR is a method of video streaming that uses HTTP as a core protocol and where the source content is encoded at multiple bit rates. Each bit rate stream is then sliced into small multi-second segments. The streaming client is informed of the various available bit rates using a coordinating file termed a “manifest”. A client device initially reads the manifest and uses that information to request initial segments of video. During the request process, the time taken to download each segment is measured and compared to the playback time that the segment requires. If the player client finds the download speed permits use of a higher quality, higher bitrate stream, it “gears up” to request those segments. Conversely, if the download time is longer than it would take to play a high-quality segment, the client “gears down” to request smaller, lower bitrate segments. Segments themselves are encoded in such a way that the “joins” become invisible to the viewer, so the client can over time optimize the download rate and viewer quality and adjust to compensate for any short-term variations in bandwidth. Since the optimization is continuously in-progress and is undertaken from the client devices point of view, the technique is very effective at providing a viewer experience that’s free from stalls and glitches. Although originally patented and commercialized by Move Networks, ABR came to prominence – or even dominance – through implementations by Microsoft (Smooth Streaming), Apple (HTTP Live Streaming) and incorporation within the MPEG-DASH international standard.