Description
Dynamic Adaptive Streaming over HTTP (DASH) is an international standard for adaptive bitrate streaming that delivers media content from conventional HTTP web servers. Its architecture is client-driven, where the client autonomously selects media segments from different representations (bitrates, resolutions, codecs) listed in a Media Presentation Description (MPD) file. The MPD is an XML document that describes the structure of the media presentation, including timing, URLs, and characteristics of available media segments. The client periodically fetches this MPD and then requests individual media segments (typically a few seconds in duration) via standard HTTP GET requests. The core intelligence resides in the client's adaptation logic, which monitors real-time network conditions (like available bandwidth) and device parameters (like CPU load and screen resolution) to choose the next segment from the most appropriate representation, aiming to maximize quality while minimizing rebuffering.
The protocol operates by dividing the media content into a sequence of small HTTP-based file segments. Each segment contains a short interval of playback time, and for each interval, multiple alternative segments are encoded at different bitrates and resolutions. The client downloads these segments one by one. After downloading a segment, the client assesses conditions and decides which bitrate to select for the next segment. This decision happens seamlessly during playback, allowing for adaptation to changing network throughput, such as when a user moves from a 5G to a Wi-Fi network. DASH is codec-agnostic, supporting common video and audio codecs like AVC/H.264, HEVC/H.265, and AAC, and it can deliver both live and on-demand content.
Key components include the DASH client (the media player with adaptation logic), the HTTP server(s) hosting the segments and MPD, and the MPD itself. The MPD describes the temporal structure (Periods, Adaptation Sets, Representations, and Segments), accessibility (URL templates), and media characteristics (codec, resolution, bitrate). DASH's role in 3GPP networks is as a service enabler for media delivery, particularly for Multimedia Broadcast/Multicast Service (MBMS) and unicast streaming. It is integrated into the 3GPP Packet-Switched Streaming Service (PSS) and Multimedia Telephony Service (MTSI), providing a standardized method for efficient, scalable, and high-quality video streaming over mobile and fixed networks. Its use of HTTP allows it to leverage existing web infrastructure, including CDNs and caching proxies, making deployment straightforward and cost-effective.
Purpose & Motivation
DASH was created to address the challenges of delivering high-quality video over best-effort IP networks, particularly the Internet and mobile networks, where bandwidth fluctuates significantly. Prior to adaptive streaming, video was delivered via progressive download or real-time streaming protocols like RTSP, which often led to frequent buffering or poor quality when network conditions degraded. These methods typically locked the client into a single bitrate for the entire session, resulting in a suboptimal user experience. DASH solves this by enabling the client to adapt the media bitrate in real-time, ensuring continuous playback by trading off instantaneous video quality against the risk of rebuffering.
The historical context includes the proliferation of proprietary adaptive streaming solutions (like Apple's HLS and Microsoft's Smooth Streaming) which fragmented the market. 3GPP, in collaboration with MPEG, standardized DASH to create a single, interoperable solution. This was motivated by the need for a universal standard that could be deployed across different networks (3G, 4G, 5G, fixed) and devices, reducing complexity for content providers and enabling innovation in client adaptation algorithms. Standardization through 3GPP and ISO/IEC (as MPEG-DASH) ensured wide industry adoption.
DASH specifically addresses limitations of previous approaches by being purely HTTP-based, which simplifies traversal of firewalls and NATs, leverages ubiquitous HTTP caching for scalability, and decouples the streaming logic from the transport protocol. It gives content providers control over the offered representations and clients the intelligence to choose optimally, creating a robust system for delivering media in dynamic network environments, which is essential for mobile video consumption.
Key Features
- HTTP-based delivery using standard web servers and caches
- Client-driven adaptive bitrate selection based on real-time conditions
- XML Media Presentation Description (MPD) for media structure
- Codec-agnostic support for various video and audio formats
- Support for both live and on-demand streaming services
- Segmented media files enabling flexible CDN distribution
Evolution Across Releases
Introduced DASH as the baseline adaptive streaming standard within 3GPP, primarily for Packet-Switched Streaming (PSS). Defined the core architecture including the Media Presentation Description (MPD) format, segment formats, and client behavior for on-demand and live services. It established DASH as the method for delivering media over MBMS and unicast, enabling efficient video delivery in LTE networks.
Enhanced DASH with support for the 3GPP Multimedia Telephony Service for IMS (MTSI), enabling adaptive video streaming within voice and video calls. Introduced mechanisms for improved synchronization between audio and video streams and added support for trick modes (like fast-forward and rewind) in on-demand content.
Added support for Dynamic Adaptive Streaming over HTTP with Server and Network Assisted DASH (SAND), enabling messaging between DASH clients and network elements or servers to optimize adaptation decisions. Enhanced capabilities for 4K Ultra High Definition (UHD) streaming and improved support for multi-view and scalable video coding.
Introduced support for Virtual Reality (VR) and 360-degree video streaming using DASH, including metadata formats for describing spherical video. Enhanced the MPD for improved content protection and integration with MPEG Common Encryption (CENC). Further optimizations for mobile network efficiency.
Expanded support for High Dynamic Range (HDR) video and enhanced audio codecs like 3GPP Enhanced Voice Services (EVS). Improved SAND functionalities for better Quality of Experience (QoE) reporting and network assistance. Strengthened integration with LTE Broadcast (eMBMS).
Aligned DASH with 5G system requirements, focusing on ultra-low latency streaming for applications like live sports and cloud gaming. Introduced support for CMAF (Common Media Application Format) chunks to reduce latency and storage overhead. Enhanced mechanisms for edge computing scenarios.
Further optimized for 5G, with enhancements for Network Slicing to guarantee streaming performance. Improved support for immersive media, including 6DoF (six degrees of freedom) content. Enhanced QoE metrics collection and reporting for advanced analytics and service assurance.
Introduced support for AI/ML-based media processing and delivery, allowing for smarter adaptation logic. Enhanced capabilities for extended reality (XR) streaming, including split rendering. Improved energy efficiency for streaming on battery-constrained devices.
Focus on integration with 5G-Advanced, enhancing support for deterministic latency and reliability for industrial streaming applications. Expanded SAND for more granular network assistance and introduced new metadata for environmental rendering (e.g., haptics, smell).
Continued evolution for 6G preparation, with enhancements for holographic and volumetric media streaming. Further integration with network APIs (e.g., CAMARA) for application-aware networking. Advanced security features for media delivery in open networks.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.722 | 3GPP TS 23.722 |
| TS 26.116 | 3GPP TS 26.116 |
| TS 26.117 | 3GPP TS 26.117 |
| TS 26.118 | 3GPP TS 26.118 |
| TS 26.233 | 3GPP TS 26.233 |
| TS 26.307 | 3GPP TS 26.307 |
| TS 26.346 | 3GPP TS 26.346 |
| TS 26.347 | 3GPP TS 26.347 |
| TS 26.348 | 3GPP TS 26.348 |
| TS 26.501 | 3GPP TS 26.501 |
| TS 26.511 | 3GPP TS 26.511 |
| TS 26.512 | 3GPP TS 26.512 |
| TS 26.517 | 3GPP TS 26.517 |
| TS 26.802 | 3GPP TS 26.802 |
| TS 26.804 | 3GPP TS 26.804 |
| TS 26.806 | 3GPP TS 26.806 |
| TS 26.827 | 3GPP TS 26.827 |
| TS 26.841 | 3GPP TS 26.841 |
| TS 26.848 | 3GPP TS 26.848 |
| TS 26.849 | 3GPP TS 26.849 |
| TS 26.851 | 3GPP TS 26.851 |
| TS 26.852 | 3GPP TS 26.852 |
| TS 26.854 | 3GPP TS 26.854 |
| TS 26.857 | 3GPP TS 26.857 |
| TS 26.891 | 3GPP TS 26.891 |
| TS 26.905 | 3GPP TS 26.905 |
| TS 26.906 | 3GPP TS 26.906 |
| TS 26.909 | 3GPP TS 26.909 |
| TS 26.917 | 3GPP TS 26.917 |
| TS 26.918 | 3GPP TS 26.918 |
| TS 26.926 | 3GPP TS 26.926 |
| TS 26.928 | 3GPP TS 26.928 |
| TS 26.929 | 3GPP TS 26.929 |
| TS 26.938 | 3GPP TS 26.938 |
| TS 26.946 | 3GPP TS 26.946 |
| TS 26.948 | 3GPP TS 26.948 |
| TS 26.949 | 3GPP TS 26.949 |
| TS 26.955 | 3GPP TS 26.955 |
| TS 26.956 | 3GPP TS 26.956 |
| TS 26.957 | 3GPP TS 26.957 |
| TS 26.981 | 3GPP TS 26.981 |
| TS 26.998 | 3GPP TS 26.998 |
| TS 26.999 | 3GPP TS 26.999 |
| TS 29.116 | 3GPP TS 29.116 |
| TS 38.835 | 3GPP TR 38.835 |