DASH Player & MPD Stream Tester

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.

Test and Analyse a DASH Stream Online

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.

DASH Stream Diagnostics

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.

Reading and Validating an MPD Manifest

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.

DASH vs HLS

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.

Why Does an MPD Stream Work in VLC but Not in a Browser?

A browser applies restrictions a desktop player does not, and any one of them can block a stream that is otherwise fine.

  • Cross-origin rules. The stream host has to allow browsers on other sites to read the manifest and segments.
  • Codec support. Browsers ship a limited set of decoders. HEVC, Dolby Vision and some audio formats often will not play.
  • Mixed content. An HTTPS page cannot load a plain HTTP stream.
  • DRM. Protected streams need a key system the browser supports and a licence the viewer is entitled to.
  • Segments on another host. The manifest can load while the media sits somewhere that blocks browser access.

DASH Live Latency

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.

DASH Stream Tester FAQ

How do I test an MPD link?+

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.

What is an MPD file?+

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.

Can I test a live DASH stream?+

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.

Why does my DASH stream fail because of CORS?+

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.

Why does an MPD link work in VLC but not Chrome?+

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.

Can it play DRM protected streams?+

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.

What is the difference between DASH and HLS?+

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.

Does HammadLab proxy my stream?+

No. Your browser requests the manifest and the segments directly from the stream host. Nothing is routed through HammadLab servers.

Other free tools

Working on a harder media problem?

I build custom video processing, streaming, WebRTC and media infrastructure for production systems.