Share via

Media Source Extensions (MSE)

Internet Explorer 11 introduces support for MPEG-DASH media streaming through HTML5 Media Source Extensions (MSE). MSE extends the video and audio elements that you can dynamically change for a media stream without using plug-ins. This gives you such things as adaptive media streaming, live streaming, splicing videos, and video editing.

Microsoft Edge introduced enhanced support for MSE to align with the current W3C Media Source Extensions specification.

Important  This feature is not supported in IE11 on Windows 7.


You can build custom adaptive streaming solutions using MSE. Such an adaptive streaming solution would look for the optimal bit rate based on network bandwidth and CPU utilization to provide the highest quality streaming experience. For example, if the network bandwidth drops, you can use MSE to programmatically switch the video stream to a lower bit rate. This reduces the quality of the image, but allows the video to keep playing without interruptions.

By dynamically splicing videos together you can insert ads during media playback. So, you don't have to put the clips in the media files beforehand, but can insert a clip in the media stream during playback at any time.

API Description
MediaSource The media object, attached to the HTML media element. MediaSource contains the media data specified by one or more SourceBuffer objects.
SourceBuffer Buffer used to hold the media data.
SourceBufferList A collection of SourceBuffer objects.
AudioTrack Represents an audio track on a video element.
AudioTrackList Represents a list of AudioTrack objects. A video element can have one or more associated audio tracks and the audioTracks property returns the list.
TextTrack The object that represents the timed text track content of a track element.
TextTrackCue Represents the individual cues, and provides methods and properties to access the data and events to act on changes to cue state.
TextTrackCueList Represents a dynamically updating list of text track cues.
TextTrackList Represents a list of TextTrack objects. A TextTrack element can have more than one associated TextTrack and the TextTrackList object contains the list.
VideoTrack Represents a video track for video elements with multiple tracks.
VideoTrackList Represents a list of VideoTrack objects.
VideoPlaybackQuality Provides information about the quality for the video currently playing.


For more info, see Building a simple MPEG-DASH streaming player and MPEG-DASH and streaming reference and resources.

API Reference













Samples and tutorials

Building a simple MPEG-DASH streaming player

MPEG-DASH and streaming reference and resources

IEBlog posts

Online Professional Quality Video: Premium media experiences without plug-ins in Internet Explorer 11


Media Source Extensions