Free DASH Player: Play MPD Streams Online

Paste an .mpd link to play an MPEG-DASH stream in your browser. See every quality level, the codecs your browser can decode and why a stream fails.
Ready. Paste an .mpd address and press Play stream.

The manifest and video load directly from the address you enter. Nothing is uploaded to us.

Lists the quality levels in the manifest once the stream starts. Pick one to lock it, or leave it on automatic.
Manifest report (live or on demand, quality levels, codecs, DRM, playback stats)
Type
-
Length
-
Minimum buffer (minBufferTime)
-
Periods
-
Video quality levels (and whether this browser can decode them)
-
Audio
-
Subtitles and captions
-
Segment addressing
-
DRM (ContentProtection)
-
Player engine
-
Currently playing
-
Playback stats
-
Recent events
No events yet.

The Starter plan is $0 per month. Paid plans are billed monthly or annually; see the pricing page for details.

Samples: an on-demand DASH test stream and a live stream from the DASH-IF DASH-IF livesim2 live DASH simulator, both listed in the dash.js reference player sample list (lists the sample DASH stream). They are used only to demonstrate the player.

What this DASH player is

This free DASH player, also called an MPD player, plays an MPEG-DASH stream online in your browser, with nothing to install. Paste the address of a DASH manifest (a .mpd file), press play and the status line tells you in plain words whether the stream works. Before playback starts, the page reads the manifest and builds a manifest report: whether the stream is live or on demand, every video quality level, whether your browser can decode each codec, how segments are addressed and whether the stream is DRM-protected.

Browsers cannot play an .mpd link on their own; MDN notes that no browser has native support for DASH, so a JavaScript player is needed (MDN: DASH Adaptive Streaming for HTML video). This page uses dash.js on GitHub (BSD-3-Clause), the reference player of the DASH Industry Forum, served from this website. dash.js feeds the video to the browser through Media Source Extensions (MDN: Media Source Extensions API), or through Managed Media Source where the browser offers it (MDN: ManagedMediaSource).

How to play an MPD stream online

  1. Paste the full https:// address of the manifest (the MPD link) into the box.
  2. Press Play stream. Video starts muted so browsers allow it to play; use the controls to unmute.
  3. Read the status line, then the manifest report below the player.
  4. To test one rendition, choose it under Video quality. Choose Automatic to hand control back to adaptive bitrate.

No stream to hand? Press Sample on-demand stream or Sample live stream.

What is in an MPD file

MPEG-DASH (Dynamic Adaptive Streaming over HTTP) is an international standard, ISO/IEC 23009-1, whose sixth edition was published in July 2026 (ISO/IEC 23009-1:2026, Dynamic adaptive streaming over HTTP (DASH), Part 1 (ISO)). It specifies the Media Presentation Description (MPD) and the segment formats. The MPD is an XML file, and these are the parts the manifest report reads:

Simplified; the full definitions are in ISO/IEC 23009-1.
MPD element or attributeWhat it meansWhere it shows in the report
type (static or dynamic)Static is on demand with a fixed length; dynamic is a live stream whose manifest can changeType
mediaPresentationDuration, minBufferTimeTotal length of an on-demand stream, and how much a player should buffer before it startsLength, Minimum buffer
PeriodA time section of the presentation; long live streams and ad breaks can use severalPeriods
AdaptationSetA group of interchangeable versions of one content type: video, an audio language or a subtitle languageVideo, Audio, Subtitles
RepresentationOne version inside a set, with its own bandwidth, width, height and codecsVideo quality levels
SegmentTemplate, SegmentTimeline, SegmentBaseHow the player works out the address of each media segmentSegment addressing
ContentProtectionSignals that the media is encrypted and which DRM systems can unlock itDRM

For each video and audio Representation, the report asks your browser whether it can decode the stated MIME type and codec, using MediaSource.isTypeSupported(). A "can decode" answer means the browser can probably play it, not that it certainly will (MDN: MediaSource.isTypeSupported()). "NOT supported here" means this browser cannot play that rendition, which is a common reason why a stream plays on one device and not another.

DASH and HLS: same idea, different files

FeatureMPEG-DASHHLS
ManifestXML file, usually .mpdText playlist, usually .m3u8
Defined inISO/IEC 23009-1RFC 8216
Adaptive bitrateYes: Representations in an AdaptationSetYes: variant streams in a master playlist
Playing it in a browserNeeds a JavaScript player such as dash.jsNative in Safari; hls.js elsewhere
Test it on this siteThis DASH playerHLS player

Both deliver video to viewers as short segments over ordinary HTTP, from an origin server or CDN. Neither is how an encoder such as OBS usually sends a live stream: that is ingest, commonly done over RTMP or SRT (see RTMP vs SRT). Multistream Platform accepts RTMP and SRT ingest and relays the stream to platforms such as YouTube, Twitch, Facebook and Kick; this player is a general tool for checking DASH viewing links and is not part of the relay. For the HLS side in depth, read what is HLS.

Common errors and what they mean

  • Could not reach the manifest. Nothing came back to the browser. The usual cause is CORS: the server must send an Access-Control-Allow-Origin header before another website can read the .mpd file and its segments (MDN: Cross-Origin Resource Sharing (CORS)). A stream that plays in a desktop app but not here very often lacks that header.
  • Blocked: secure page, insecure manifest. Browsers block http:// media on HTTPS pages (MDN: Mixed content). Use an https:// address.
  • HTTP 404, 401 or 403. The manifest is missing, or the server refused the request. Signed links expire, and some servers allow only approved websites.
  • That address is not a DASH manifest. The link returned a web page or another file. Copy the direct .mpd address. If it returned an .m3u8 playlist, use the HLS player.
  • This stream is protected (DRM). The manifest has ContentProtection elements (for example Widevine, PlayReady or FairPlay). dash.js can play protected content when it is given a licence server, and some services also need certificates or custom request headers (dash.js documentation: Digital Rights Management (DRM)). This page sends none of those, so it can only play unencrypted streams, and it cannot be used to get around DRM.
  • The video could not be decoded. This browser does not support a codec the stream uses. Look for "NOT supported here" in the manifest report.
  • Some stream files could not be downloaded. The manifest loaded but a segment did not. CORS and access rules must allow the segments as well as the manifest.

Other players

For an HLS (.m3u8) link use the HLS player. If you are not sure what a link is, the online video player detects MP4, HLS and DASH for you. For a plain MP4 or WebM link, or a file on your device, use the MP4 player.

Privacy

Your browser requests the manifest and segments directly from the server you enter. We do not receive the address or the video. Only play streams you have the right to view.

Sources

Checked October 26, 2026. Player bundled on this page, served from our own site: dash.js (BSD-3-Clause; licence, third-party notices).

DASH player FAQ

How do I play an MPD file or DASH link online?
Paste the .mpd link into the box above and press Play stream. The page reads the manifest, shows a report of its quality levels and codecs, and starts playback with dash.js if the server allows it. If it fails, the status line explains why.
A DASH player is software that reads an MPEG-DASH manifest (MPD), downloads the media segments over HTTP and switches between quality levels as the connection changes. Browsers need a JavaScript player such as dash.js to do this.
Yes. It is a free tool with no account or sign-up, and the stream loads directly from the address you enter.
An MPD is only a manifest that points to media segments, so it needs to be on a web server with its segments. Upload the manifest and segments to a server that allows cross-origin requests, then paste the https:// link.
Desktop apps are not bound by browser rules. A browser needs the server to allow cross-origin requests (CORS) for the manifest and every segment and, on an HTTPS page, an HTTPS address. It also needs to support the stream's codecs.
No. Protected streams need a licence server, and often a login or token, from the service that owns them. This page only plays unencrypted streams, but the manifest report shows which DRM system a stream signals.
Yes. A live manifest has type="dynamic". The report shows Live, the rewind window if there is one, and how far behind the live edge playback is. Try the sample live stream to see it.
Yes. Once the stream starts, the Video quality list shows every resolution and bitrate in the manifest. Pick one to lock it, or choose Automatic to let adaptive bitrate decide.
No. They are public DASH test streams listed in the dash.js reference player sample list, included only so you can see the player work.
Have questions that aren't listed here? Talk to the team
Go Live Today

Ready to stream everywhere?

Bring your live, hosted, and pre-recorded streams into one platform.

One platform. Limitless audiences. Stream. Grow. Everywhere.