HLS and DASH are two popular video streaming technologies that are based on HTTP, the standard protocol for transferring data over the web. Both HLS and DASH use HTTP to deliver video streams to clients, but they use different approaches to segmenting and encoding the video data.
HLS, or HTTP Live Streaming, is a streaming protocol developed by Apple for delivering video and audio content over the internet. HLS divides the video into small segments, typically a few seconds in length, and encodes each segment using H.264/AVC video and AAC audio codecs. The segments are then packaged into an MPEG-2 Transport Stream (MTS), and are delivered to the client using regular HTTP requests. The client can then switch between the different segments as needed, to adapt to changes in the available bandwidth and network conditions.
DASH, or Dynamic Adaptive Streaming over HTTP, is an adaptive streaming protocol that is based on the ISO Base Media File Format (MPEG-4 Part 12). Like HLS, DASH divides the video into segments and encodes each segment using a variety of codecs, but it uses a different format for the segments and offers more flexibility in terms of the available codecs and other options. DASH segments are typically encoded using the H.264/AVC or H.265/HEVC video codecs, and the AAC or MP3 audio codecs, and are packaged into MP4 files. The segments are delivered to the client using HTTP, and the client can switch between the different segments as needed, to adapt to changes in the available bandwidth and network conditions.