A free online MPD player and DASH stream tester. Paste a stream URL to play it in your browser and analyse quality levels, bandwidth, buffering and playback errors.
Testing HLS instead? Use the HLS stream tester and M3U8 player.
Paste a DASH or MPD URL and this DASH player loads the manifest, starts playback and reports what the player sees. You get the quality renditions from the manifest, the throughput the player measured, how much buffer is ahead of the playhead, live latency where the stream exposes it, and a log of the events behind a failure.
The point is to answer why a stream misbehaves without opening developer tools and reading raw network requests.
Quality level is the representation currently playing. In Auto mode the player picks it from measured throughput and buffer health, so it changes during playback.
Bandwidth estimate is what the player measured while downloading segments. It is not the bandwidth value written in the manifest, and the two often disagree.
Buffer is how many seconds of media sit ahead of the current position. A buffer that keeps collapsing toward zero is the usual cause of repeated stalling.
Live latency is how far behind the live edge playback is sitting, shown next to the delay the player is targeting.
Dropped frames come from the browser itself and point at decoding or rendering pressure rather than a network problem.
DASH, or MPEG-DASH, is the streaming standard. MPD is the manifest file format that DASH uses to describe a stream. When someone shares an MPD link they are sharing the entry point to a DASH stream. The manifest section above works as a quick MPD analyzer: it reports the structure the player found, so you can check a manifest declares what you expect before blaming playback.
One manifest describes periods, and inside them adaptation sets for video, audio and text. Each adaptation set holds representations, which are the individual quality renditions the player switches between.
Both deliver adaptive streaming over plain HTTP and both split media into segments the player fetches in sequence. DASH is an open standard using an XML manifest and is codec agnostic. HLS came from Apple, uses a text playlist and is the only option on iOS Safari.
Most services publish both from the same source files. If a DASH stream fails it is worth testing the HLS version of the same content to see whether the problem follows the media or the packaging.
A browser applies restrictions a desktop player does not, and any one of them can block a stream that is otherwise fine.
Live DASH deliberately plays behind the live edge so there is buffer to absorb network variation. How far behind depends on segment length, the suggested presentation delay in the manifest, and whether the stream is packaged for low latency.
The latency shown here is the player's own measure of its distance from the live edge. It is not glass to glass latency and it does not include capture or encoding time.
Paste the .mpd URL into the field above and press Test Stream. The player loads the manifest, starts playback and shows quality levels, bandwidth, buffer, live latency and any errors it hits.
An MPD file is the manifest used by MPEG-DASH. It is an XML file describing the periods, adaptation sets and representations that make up a stream, plus the timing the player needs to follow it.
Yes. Live manifests are marked dynamic, and for those the tester also shows how far behind the live edge playback is sitting alongside the delay the player is aiming for.
Browsers only allow a page to read a stream from another origin when that server permits it. If the server does not, the browser blocks the request. This does not mean the stream is broken, only that this browser was not allowed to read it from this page.
VLC does not enforce browser cross-origin rules and ships its own decoders. A browser has to satisfy CORS, may refuse plain HTTP streams on an HTTPS page and can only play formats it supports. Any of those can stop a stream that plays fine in VLC.
No. The manifest section shows which protection system a stream declares, such as Widevine or PlayReady, but HammadLab cannot decrypt protected content. Playing it needs a browser and a licence you are entitled to.
They solve the same problem in different ways. DASH uses an XML manifest and is an open standard, while HLS uses a text playlist and came from Apple. Most services publish both. You can check an HLS stream with the HLS stream tester.
No. Your browser requests the manifest and the segments directly from the stream host. Nothing is routed through HammadLab servers.
I build custom video processing, streaming, WebRTC and media infrastructure for production systems.