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.
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.