You're excitedly perched in your favorite chair with your tablet in hand. The trailer for the movie you've been dying to see has finally been released, and you can't wait to see it. You start the clip from the movie's Web site, and ... wait ... buffering ... oh, there it is. Hmmmm. It's a little stuttery. This isn't quite what you had in mind. Wouldn't it be great if someone would figure out a way to make online video streaming and downloads smoother and more efficient?
Smartphones and tablets with mobile broadband are becoming more common every day. A report published in February 2012 indicated that between 2010 and 2011, the mobile data networks behind these devices grew 133 percent, and the average smartphone nearly tripled in data usage, from 55 MB to 150 MB per month. With more powerful devices and faster network speeds, streaming video is easier to consume and now accounts for more than half that traffic [source: Cisco].
Growth like this inspires innovation, especially when overcoming barriers. If you have a limited data plan with a mobile data service provider, you have to be aware of how much data you've consumed each month so you don't exceed your limit and pay penalties. Even if you have an unlimited plan, you probably want to limit the data you download to only what you actually use so your phone or tablet runs as efficiently as possible.
That's where DASH comes in. DASH stands for Dynamic Adaptive Streaming over HTTP. As we'll explore in this article, DASH is a standard for streaming video over the Internet. It overcomes issues with some other streaming standards, including wasting bandwidth on unviewed content and lack of adaptability to your data connection's available bitrate.
The developers behind DASH include Christopher Müller, Stefan Lederer and Christian Timmerer, all associated with the Klagenfurt University in Austria. Their effort is part of a larger project called the 3rd Generation Partnership Project (3GPP) to create global standards for mobile broadband. The three researchers have chronicled DASH development in blog format, and they've presented and promoted DASH to industry colleagues around the world [sources: ITEC-DASH, Timmerer, Timmerer and Müller, Lederer et al., 3GPP].
The new technology has led to a new standard under the Moving Picture Experts Group (MPEG). If MPEG sounds familiar, it's no surprise. MPEG is the organization behind the world's most widely adopted digital media standards, including MPEG video and MP3 audio. As a standard, DASH is referred to as MPEG-DASH. As of this writing, MPEG-DASH has passed enquiry and is in the approval stage in the International Standards Organization, where it's known as ISO/IEC 23009-1.
Before we take a closer look at DASH, let's look at the state of video streaming technology prior to DASH adoption.
The State of Video Streaming Before DASH
To understand how DASH improves video streaming, let's look at the technology preceding it.
HTTP is the primary protocol used for Web content on the Internet. HTTP is also stateless, which means that when you request data from your computer or mobile device, it connects to the Web server on the Internet just long enough to get the data it needs, then terminates that connection. You may have seen this when you're using a Web browser to view a page and you lose your Internet connection: The Web page remains loaded in your browser, even though you're not actively connected to the server it came from.
As of this writing, the state-of-the-art in Internet video streaming was the Real-Time Streaming Protocol (RTSP). Unlike HTTP, RTSP is stateful. That means it relies on a persistent connection between your computer or mobile device and the Web server that's sending the video. This means that once the connection's established, the server sends a constant stream of data to the device until it sends all of the video or until you stop the video, whichever occurs first.
Because it's stateful, RTSP is less efficient than HTTP. That's because there's a chance you could download more data than actually you need. For example, your device might download an entire video even if you stop watching it halfway through.
If RTSP could adjust for differences in bitrate, this wouldn't be an issue. The bitrate is how many bits of data your device can download per second. This is affected by the speed and traffic volume on your current Internet connection. If you have a high bitrate, the RTSP simply downloads more video content over the same amount of time, whether or not you actually watch all of that content.
Internet speeds are getting faster, particularly on mobile networks. Faster download speeds have led to more video viewing, and consequently have pushed bandwidth usage to unexpected highs. This puts pressure on broadband providers to save money and resources. As a result, providers continue to raise their prices and to throttle or cap bandwidth for their users.
DASH is an attractive alternative to RTSP because it makes video streaming more efficient. Next, we'll see how DASH accomplishes this.
The DASH standard is an attractive alternative to RTSP because it makes video streaming more efficient. DASH does this by taking advantage of HTTP's statelessness. This means that DASH standard software can stream video by only grabbing enough video data to bridge the gap between multiple HTTP connections.
Under the DASH standard, video content exists on the server in these two parts:
- Media Presentation Description (MPD) -- a manifest, or a file containing information about the video content
- Segments -- chunks of video data separated into multiple files
You probably already know that in order to play an MP3 music file, you have to have software or a device that reads the MP3 standard file type. The same is true with DASH. To play DASH standard video, you'll need a DASH client. That client is some form of software that's programmed to play video that complies to the DASH standard. As the standard becomes more widely adopted, you'll find popular Web browsers and mobile apps adding DASH compatibility to their software.
A DASH client retrieves and plays the video content using these steps:
- The client downloads and reads the MPD to get important information, such as the content locations, segment encodings, resolution, minimum and maximum bandwidths, accessibility features like closed captioning and content restrictions (such as DRM).
- The client selects an appropriate segment encoding and begins streaming the content through a series of HTTP requests. The server creates and encodes each segments on demand for each request, all from the same source.
- The client buffers data as it's downloaded, while also keeping track of fluctuations in the connection bandwidth. If necessary, the client automatically changes to a different segment encoding (from those listed by the MPD) that's more compatible with the current bitrate. This ensures the client maintains a sufficient buffer throughout the video without downloading more data than you need.
Because of its structure, DASH acts as a framework for better consuming a single video source. For example, a DASH encoder can break up an MP4 video file into 2-second segments encoded for a Microsoft Silverlight client on a fast network. Then, it can use that same MP4 source to create 15-second segments for a game console on a slower network. For even more bandwidth optimization, the MPD can indicate multiple locations to choose from for each source file.
As of early 2012, there was a lot of buzz about how quickly DASH might take off, especially considering who's on board with it. We'll check out that buzz on the next page.
Prior to the DASH standard, some platforms for HTTP streaming included Apple's HTTP Live Streaming and Adobe HTTP Dynamic Streaming. While these are successful in taking advantage of HTTP's efficiency, they're also proprietary. That means they each run with a different protocol, and they're not compatible with each other.
If major brands in Internet video streaming adopt the DASH standard, it could replace the less-efficient RTSP standard while eliminating the need for proprietary software. Some companies, like Netflix and Microsoft, are already on board with DASH. They're part of the MPEG-DASH Promoters Group, an organization of streaming video service providers supporting the new standard. By encoding video and creating clients that comply with MPEG-DASH, this group hopes to speed the standard's adoption across the industry.
Mark Watson, a senior engineer at Netflix, is excited about DASH for storage efficiency, too. Streaming service providers like Netflix use a content delivery network (CDN) to store and deliver video. To accommodate different types of devices, providers have to offer different video formats, which means having multiple copies of the same content in their CDNs. During a December 2011 interview with StreamingMedia.com, Watson stated that under the DASH standard, "everything can be encoded one way and encapsulated one way, and stored on our CDN servers just once." This leads to cost savings for storage space in addition to improved streaming performance [source: Dreier].
DASH also includes live streaming standards. Since DASH encoders create video segments on demand for the client, the client may be able to consume that live stream faster and in segment sizes that are appropriate to the current bitrate. This means fewer skips during video playback and a live stream that's closer to real time. Though there isn't a lot of buzz about it yet, this could lead to an increase in live streaming availability for sporting events and live TV shows, and more people watching live TV via the Internet.
The future looks bright for DASH, but time will tell how quickly providers adopt it and how soon software companies produce DASH-compliant clients. As we keep an eye on the standard, dash on over to the next page for lots more information about DASH.
Before this article, I knew very little about streaming video standards. Now, I understand the problem with RTSP, particularly regarding wasted bandwidth. Since DASH is a framework for consuming existing video formats, it doesn't disrupt video production itself. That also means that proprietary formats like Flash could be delivered with the advantage of DASH efficiency. As someone who loves to use YouTube on my smartphone, I look forward to the improved experience and reduced bandwidth that the DASH standard could deliver. I also hope that security mechanisms that limit HTTP requests from the same client can adapt to receiving repeated requests for video segments. I'm interested to see how streaming services will handle that while resisting denial of service attacks.
More Great Links
- 3GPP. "About 3GPP." (Mar. 9, 2012) http://www.3gpp.org/About-3GPP
- Cisco. "Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2011-2016." Feb. 14, 2012. (Mar. 8, 2012) http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-520862.pdf
- Dreier, Troy. "Netflix Sees Cost Savings in MPEG DASH Adoption." StreamingMedia.com. Information Today, Inc. Dec. 15, 2011. (Mar. 9, 2012) http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=79409
- International Organization for Standardization (ISO). "ISO/IEC PRF 23009-1." (Mar. 8 2012) http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623
- Lederer, Stefan, Müller, Christopher, and Timmerer, Christian. "Dynamic Adaptive Streaming over HTTP Dataset." ACM. Feb. 2012. http://web.cs.wpi.edu/~claypool/mmsys-dataset/2012/dhttp/p89-lederer.pdf
- Ozer, Jan. "What is Adaptive Streaming?" StreamingMedia.com. Information Today, Inc. Apr. 28, 2011. (Mar. 9, 2011) http://www.streamingmedia.com/Articles/Editorial/What-Is-.../What-is-Adaptive-Streaming-75195.aspx
- Ozer, Jan. "What is MPEG DASH?" StreamingMedia.com. Information Today, Inc. Nov. 22, 2011. (Mar. 9, 2011) http://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=79041
- MPEG. "MPEG Home." (Mar. 9, 2012) http://www.mpeg.org/
- Müller, Christopher, and Timmerer, Christian. "Dynamic Adaptive Streaming over HTTP (DASH)." May 2, 2011. (Mar. 8, 2012) http://www.slideshare.net/christian.timmerer/dynamic-adaptive-streaming-over-http-dash
- Rick, Christopher. "MPEG DASH Gains Industry Support As 'Streaming Media Standard'." ReelSEO. ReelVideo, LLC. Mar. 5, 2012. (Mar. 8, 2012) http://www.reelseo.com/mpeg-dash-streaming-media-standard/
- Stockhammer, Thomas. "Dynamic Adaptive Streaming over HTTP - Design Principles and Standards." Nov. 2010. (Mar. 8, 2012) http://www.w3.org/2010/11/web-and-tv/papers/webtv2_submission_64.pdf
- Timmerer, Christian. "Dynamic Adaptive Streaming over HTTP (DASH)." Feb. 11, 2011. (Mar. 8, 2012) http://multimediacommunication.blogspot.com/2011/02/dynamic-adaptive-streaming-over-http.html