streamingprotocolsmediartspmpeg-dash

What is the difference between MPEG-DASH and RTSP?


Just as I have boiled down the above protocols to 1 or 2 sentences, I was hoping someone could answer: in layman's terms, what is the difference between MPEG-DASH & RTSP?

From a high level, MPEG-DASH appears to be an alternative to RTSP+RTP+RTCP+SDP.


Solution

  • DASH stands for Dynamic Adaptive Streaming over HTTP. A basic overview: it works by splitting the source files into multiple segments which are then delivered over the HTTP protocol. The information about the content is found in a manifest file called the Media Presentation Description (MPD), basically a XML file.

    The same content can have multiple representations. For eg. the source file can be encoded for different screen resolutions and with different bitrates.

    This enables adaptive streaming. The player first request the manifest and reads the necessary information then starts downloading the media segments. During playback, if the network conditions change, it can switch to another representation (eg. a lower bandwidth stream if you go from Wi-Fi to 3G).

    Since is works over HTTP this has various advantages: HTTP is stateless compared to RTSP which maintains a stateful connection trough RTCP. HTTP is widely supported, requires a single port, can traverse firewalls, media segments can be cached, sent over Content Distribution Networks and so on.

    In contrast with HLS, DASH can also do low-latency live streaming which RTSP did well. All in all the industry moves towards DASH but there are holdouts like Apple.

    I suggest you start reading this overview and then look up the specifications since the protocol offers many other features.