DASHing for a Streaming Standard
IP streaming technology has advanced significantly over the past decade, as network performance has increased and as new protocols have been used for video delivery. Unfortunately, these improvements have been driven primarily by a few dominant vendors (Apple, Microsoft and Adobe), and they don't interoperate with each other.
Dynamic Adaptive Streaming over HTTP (DASH) provides a common, standards-based methodology for delivering video and audio content over a wide variety of IP networks including the Internet. Work on specifying DASH is nearing completion as a standard within the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC), the same groups that published the well-known MPEG standards. Final versions of products and systems based on DASH should begin appearing on the market in the near future.
WHY ADAPTIVE STREAMING OVER HTTP?
Streaming is one of the most efficient ways of delivering content to viewers over IP networks. Two primary components are used: clients and servers. Clients are software packages that reside on client devices such as PCs, mobile phones and set-top boxes. These packages receive video streams, decompress them, and display video and audio content.
Servers process and store compressed content and feed it out over a network to clients. In streaming, servers and clients work together to deliver content on a "just-in-time" basis, where the content arrives slightly in advance of when it is needed for display.
Streaming has several advantages of other approaches to content delivery such as download and play. With streaming, the network is used efficiently—content isn't delivered until it is needed and content delivery ceases when viewers stop watching or change to other streams.
Start-up times are reduced because content can start to flow as soon as a client requests it. Streaming users are allowed to start watching a video at any point in the timeline—even the last scene of a two-hour movie.
Streaming also supports live (or real-time) content delivery, so that content can be delivered to viewers within a few seconds of creation, making it useful for sports, news and other time-sensitive material.
Adaptive streaming takes basic streaming a step further—it permits the client devices to select different content streams as network conditions vary. When network bandwidth is plentiful, high-quality, detailed image streams can be delivered. As network performance degrades, the client can automatically switch to lower bit-rate streams that can more easily pass through congested networks. If network performance subsequently increases, higher bit rate streams can be requested.
Fig. 1: Two devices receiving video from adaptive streaming server.
Since each client independently requests streams to adapt to changing network conditions, adaptive streaming servers can serve multiple clients simultaneously.
Fig. 1 shows an adaptive streaming server in operation. Each content stream is rendered in multiple versions that correspond to different delivery bit rates. Each version is stored as a sequence of files that can be delivered to a client upon demand.
High bit rate file sequences can offer things such as larger image sizes, faster frame rates, improved sound quality and more detailed images than lower bit rate file sequences. The different versions are synchronized, so that each file (or chunk) represents a fixed amount of time (typically 2, 5, 10 or 30 seconds) in the content sequence.
Each time a client device needs to download the next chunk in a sequence, it can choose one that uses a bit rate that is most suitable for the current condition of the network between the server and the client.
For example, Client A in Fig. 1 was able to request three high-bandwidth chunks in succession, but due to a deteriorating network connection, Client A decided to select a lower-bandwidth chunk for the fourth segment of the media file. Client B has selected smaller chunks since it has a lower-speed connection.
Even though HTTP is less efficient for delivering multimedia content than other protocols such as Real-time Transport Protocol (RTP) over User Datagram Protocol (UDP), it is much less likely to be blocked by browsers and firewalls. Hence, many video delivery websites such as Netflix and YouTube have adopted HTTP adaptive streaming.
The three most widespread HTTP streaming systems on the Web today are Adobe's HTTP Dynamic Streaming, Apple's HTTP Live Streaming, and Microsoft Smooth Streaming, which all use similar, but incompatible technologies. This forces each user to have three different streaming clients on their device to view these different stream formats.
Since DASH is being developed as an open standard, it will become possible for browsers and servers from different manufacturers to work together, just as H.264 signals can work across many platforms. Of course, intellectual property claims and licensing terms will need to be resolved before DASH achieves widespread usage, but in balance, this development should be good for the IP video delivery industry. Expect to see a lot more about DASH in the future.
Wes Simpson is an independent consultant and author who is looking forward to an open standard for HTTP streaming. He can be reached at email@example.com.