4 ms·
> DASH is adaptive streaming, and as such, when you select some stream from the client, CDN should support that in their infrastructure Adaptive streaming is e
by _puk 10y ago
> DASH is adaptive streaming, and as such, when you select some stream from the client, CDN should support that in their infrastructure
Adaptive streaming is essentially a client side technology, all the CDN needs to do is ensure that it serves up files with the right mime type (not actually a hard requirement, but many players choke if you don't).
Which segment to play next is decided by the player based on current playback conditions and a manifest of available segments and bitrates; it then requests the relevant segment from the CDN, which delivers it as it would a normal file. (A segment is just a very short video file).
The CDN is not expected to keep state for each connected client, which it would need to in order to be able to make the relevant decisions on which file to serve.
For live, you also have the complication that you need to keep adding files, and updating the manifest to indicate where these new files are (The payer checks back every couple of seconds to see if the manifest has changed). Any latency at all in this means that a client may get back a stale manifest, and then not know where the next video segment is supposed to come from, causing stalling. (Numerous ways to work around this, but it is the real hurdle to easy adaptive live streaming).
This is all a gross simplification, but at its most base level, that is how it works.
You can (theoretically) do MPEG-DASH from a normal MP4 file, but that does require CDN support (and possibly a single pass to add more info at segment boundaries).
> Currently CDNs support HLS and Adobe's adaptive streaming, both of which aren't open standards and aren't part of HTML5 video.
HLS is an open standard[0], though not defined by a standards body; more Apple have documented how they do it and others have adopted it as a defacto standard.
And that is the biggest hurdle for DASH adoption - Apple devices.
As a content provider, I have* to support HLS if I want to support adaptive streaming in iOS. Transcoding to another standard (one which is still in its infancy) is just asking for non essential costs and headaches.
*Yes, it is possible to use MPEG-DASH, but not natively supported by Apple, so you are on your own.
Until Apple support MPEG-DASH you still need to provide a HLS stream.
DASH is a sprawling standard, and in theory you can use DASH with existing HLS segments (MPEG-2 .ts files), but no-one supports it (or likely ever will). DASH264 [1] is an attempt to keep it simple, and tie it down to a smaller subset of codecs (x264/5 and the like), and seems to be making headway.
It's early days for MPEG-DASH, and it is gaining traction, helped by the fact it has been learnt a lot of lessons from the likes of Flash and HLS.
0: https://tools.ietf.org/html/draft-pantos-http-live-streaming-19 https://tools.ietf.org/html/draft-pantos-http-live-streaming...
1: http://dashif.org/wp-content/uploads/2015/04/DASH-IF-IOP-v3.0.pdf http://dashif.org/wp-content/uploads/2015/04/DASH-IF-IOP-v3....
- shmerl 10y ago> As a content provider, I have to support HLS if I want to support adaptive streaming in iOS. I see. Safari on iOS is still missing MSE? Is Apple doing it to slow down DASH adoption? The other expected problem is codecs. Apple are being sleazy and refuse to support free codecs like VP9 and Opus. So making DASH serving those won't work with Apple too (unless you'll use pure JavaScript decoder which is very not optimal). May be Daala / Thor will eventually break their nasty behavior, especially if it will be adopted as mandatory for WebRTC. > DASH264 is an attempt to keep it simple, and tie it down to a smaller subset of codecs (x264/5 and the like), and seems to be making headway. Tying DASH to a set of proprietary codecs to propose a standard sounds like a very bad idea. I don't see it going anywhere.
- Veratyr 10y ago> Apple are being sleazy and refuse to support free codecs like VP9 and Opus. > May be Daala / Thor will eventually break their nasty behavior, especially if it will be adopted as mandatory for WebRTC. I think AV1 (Alliance for Open Media's codec) is likely to be the video codec Apple joins in on, unless it tries to push HEVC. With Intel, AMD and ARM in the group, basically every computing device is going to have hardware support for it so Apple would have to actively cripple it in their hardware to go without. As for audio, Opus is great for low latency and low bitrate but AAC is widely available and supported and performs better than Opus at high bitrates (which I suspect are more important to Apple than low bitrates). Maybe if Opus becomes part of a telecom spec for VoIP or something Apple will pick it up but I think it's unlikely otherwise.
- shmerl 10y ago>Alliance for Open Media AV1 is the new codename for Daala + Thor? They used to call it NetVC. I hope they'll come up with better name than something that sounds like a virus :) > As for audio, Opus is great for low latency and low bitrate but AAC is widely available and supported and performs better than Opus at high bitrates Opus beats AAC even for music from what I saw and provides same quality at lower bitrates. I.e. it has lower transparency level, which means it's simply better overall. See http://listening-test.coresv.net/results.htm http://listening-test.coresv.net/results.htm Plus AAC is not free.