This article is an introduction to MPEG-DASH. If you’re absolutely new to this term and live streaming in general, I highly recommend you read What is Adaptive Streaming first.
What is MPEG-DASH?
MPEG-DASH is the DASH standard, MPEG style. It is the first truly international standard for HTTP adaptive streaming.
How is MPEG-DASH different from what Apple, Adobe or Microsoft provides? DASH (from here on meaning MPEG-DASH) is codec agnostic. In Adaptive Streaming I said HTTP can pass many kinds of data. This is its cool factor.
Why is it important to be codec agnostic? Simply because vendors like Apple, Google, Adobe and others have proprietary codecs that don’t play well with their competitor’s devices. You can’t avoid these vendors, because their devices/services are popular (iOS, Android, Windows, Youtube, etc.). What you can do is try to please everyone by not troubling the consumer about it.
That’s what DASH tries to do.
The standards created by MPEG rule the universe, so it’s okay to be excited about MPEG-DASH. Let’s take a deeper look.
What is a Media Presentation?
A typical stream has two basic components:
- Media (the video)
- Metadata (the manifest files, as explained in Adaptive Streaming).
In DASH language, video (which can also be multimedia, presentations, webcasts, podcasts, etc.) is called the Media Presentation.
The manifest files, or metadata, is called the Media Presentation Description. This is how it breaks down:
A Media Presentation is your entire presentation. Think of it as a cinema movie, where you’re forced to deal with messages, advertisements, trailers and other crap before the movie begins. When a producer wants a video streamed, he or she is also hoping to make some money. DASH understands this need.
Each audio or video (separate or multiplexed) is called an Adaptation. A collection of adaptations is called a Period. Therefore, a media presentation holds many periods. Each period can hold one or more adaptations.
A period allows audio, video and other data (subtitles, captions, overlays, etc.) to stay separate. In their separate mode they are adaptations. But they are played back at the same time, hence a period.
Now, each adaptation is encoded into different bit rates, so the client can choose what’s best. Each version of the adaptation is called the Representation (where did they come with all these terms?). If your movie is encoded into two formats, H.264 and MPEG-2, then both of these are two different representations.
Finally, each representation is broken down into segments. Officially, they’re called Media Segments.
Here’s the hierarchy:
- Media Presentation
If you’re still having trouble understanding, think of them as folders. Segments are the files, and every level up is just a folder for organizational convenience.
What is an MPD model?
The manifest file is called the Media Presentation Description. It is written in the XML format, and provides valuable metadata in identifying all the components of a stream, as well as establishing their place and sequence.
A DASH player (media player) will need a proper manifest in order to keep things in order. It interfaces with a client’s device – a computer, tablet, smartphone, etc. – and decides which segments to pull and play. It needs to operate with pin-point precision. The less calculation it has to do, the faster it can accomplish its primary task. In many ways, you can think of a manifest as a pre-defined (and well-defined) LUT.
This system of structuring data is called the Media Presentation Description (MPD) model.
How much control does MPEG-DASH really have? Here it is, in their own words:
The MPEG-DASH specification only defines the MPD and the segment formats. The delivery of the MPD and the media-encoding formats containing the segments, as well as the client behavior for fetching, adaptation heuristics, and playing content, are outside of MPEG-DASH’s scope.
In one way this opens up DASH for many kinds of applications. On the other hand, DASH really isn’t a strict standard in the ‘H.264’ sense. There are many interpretations possible. They are keeping their options open, which is not a bad thing considering the volatile nature of this industry.
Technology is advancing at a blistering pace – who can predict what will be the best format five years from now? DASH just defines the protocol to level the playing field.
Does it? Level the playing field?
Should I care about MPEG-DASH?
MPEG-DASH isn’t the cure for the challenges live streaming faces, anymore than MPEG-2 is the cure for the broadcast industry. It is just ‘one more thing’.
Let’s look at some important negatives:
- It is unclear whether DASH will be royalty-free. This is a biggie. Mozilla Firefox, which has about a 20% share of worldwide browser usage, is unlikely to implement DASH for this single reason. Firefox doesn’t even support H.264 directly for the same reason.
- Adobe and Microsoft have openly supported DASH, but Adobe is yet to implement DASH into Flash. Why not?
- Google hasn’t taken a call on DASH, which means Chrome and Android is waiting in the wings. Apple has HLS, which is already a widely adopted standard, so it is unclear whether Apple will ditch its technology for DASH. This means Safari and iOS are waiting in the wings.
- Being codec agnostic, DASH doesn’t offer compelling value over any other vendor-specific offering.
To be fair to DASH, there’s nothing else remotely like it. All it would take to flip the tide in DASH’s favor will be an official endorsement from Apple. Prudence dictates that one wait for it, but don’t hold your breath.
You (like me) are a filmmaker. In the internet market we are called content publishers. Do we really want to encode our videos into fifteen different codecs on the fly? Do we really want to worry about every single internet technology and device? Do we have the resources and money to stay on top of these things? Can we handle the pressures and complexities of sustaining a live streaming environment?
The answer is, no, we can’t. And we don’t want to either.
What do we want? Here’s a small list:
- Freedom to create good content
- Intellectual rights management (Copyright, DRM, etc.)
- Ability to reach our target audience (Device and technology-independent)
- Revenue (Advertising, sponsorships, payments, etc.)
- Feedback and Social Media Integration (the ability to speak to our audience directly)
DASH is for those who want to start from scratch. You want to build a server and a website for live streaming? DASH is a great start – just be clear on the royalty terms.
But if you’re a content producer you don’t want to get into this mess. What are the alternatives? Here are a few:
- Wowza Media Server
- Amazon Web Services
- Adobe Media Server
- Microsoft Azure
- Level 3
- VLC Media Player
These big gun service providers can give you the infrastructure to deploy your content worldwide. They support multiple formats and devices. They also have solid CDN (Content Delivery Networks) capability so your end user is always close by to a server with your content on it. Doesn’t get much better than this. Let them worry about technological advances, upgrading, royalties, and so on. Why should you?
So, why bother about DASH?
Are you looking to set up a live streaming system? What is your strategy? What do you feel about MPEG-DASH?