Free DASH Player: Play MPD Streams Online
The manifest and video load directly from the address you enter. Nothing is uploaded to us.
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
- Paste the full
https://address of the manifest (the MPD link) into the box. - Press Play stream. Video starts muted so browsers allow it to play; use the controls to unmute.
- Read the status line, then the manifest report below the player.
- 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:
| MPD element or attribute | What it means | Where 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 change | Type |
mediaPresentationDuration, minBufferTime | Total length of an on-demand stream, and how much a player should buffer before it starts | Length, Minimum buffer |
Period | A time section of the presentation; long live streams and ad breaks can use several | Periods |
AdaptationSet | A group of interchangeable versions of one content type: video, an audio language or a subtitle language | Video, Audio, Subtitles |
Representation | One version inside a set, with its own bandwidth, width, height and codecs | Video quality levels |
SegmentTemplate, SegmentTimeline, SegmentBase | How the player works out the address of each media segment | Segment addressing |
ContentProtection | Signals that the media is encrypted and which DRM systems can unlock it | DRM |
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
| Feature | MPEG-DASH | HLS |
|---|---|---|
| Manifest | XML file, usually .mpd | Text playlist, usually .m3u8 |
| Defined in | ISO/IEC 23009-1 | RFC 8216 |
| Adaptive bitrate | Yes: Representations in an AdaptationSet | Yes: variant streams in a master playlist |
| Playing it in a browser | Needs a JavaScript player such as dash.js | Native in Safari; hls.js elsewhere |
| Test it on this site | This DASH player | HLS 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-Originheader before another website can read the.mpdfile 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 anhttps://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
.mpdaddress. If it returned an.m3u8playlist, use the HLS player. - This stream is protected (DRM). The manifest has
ContentProtectionelements (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
- ISO/IEC 23009-1:2026, Dynamic adaptive streaming over HTTP (DASH), Part 1 (ISO)
- MDN: DASH Adaptive Streaming for HTML video
- MDN: Media Source Extensions API
- MDN: ManagedMediaSource
- MDN: MediaSource.isTypeSupported()
- MDN: Cross-Origin Resource Sharing (CORS)
- MDN: Mixed content
- dash.js documentation (DASH Industry Forum)
- dash.js documentation: Digital Rights Management (DRM)
- dash.js on GitHub (BSD-3-Clause)
- DASH Industry Forum
- dash.js reference player sample list (lists the sample DASH stream)
- DASH-IF livesim2 live DASH simulator
- RFC 8216: HTTP Live Streaming
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
Related guides and tools
Check that an HLS playlist plays in your browser.
Open the playerPaste an MP4, HLS or DASH link and it picks the right player.
Open the playerPlay an MP4 or WebM from a link or from a file on your device.
Open the MP4 playerHTTP Live Streaming explained: playlists, segments and adaptive bitrate.
Read the guideHow the two ingest protocols differ and when to use each.
Read the guideStarter is $0 per month. Paid plans are billed monthly or annually.
See pricingLink to this tool
Found the DASH Player (MPD Player) useful? If you write a blog post, a guide or a stream resources page, you are welcome to link to it. Copy this HTML:
Ready to stream everywhere?
Bring your live, hosted, and pre-recorded streams into one platform.