Skip to content
FrameworkStyle

mux-video

Video element for Mux-hosted HLS streams

Video element for playing Mux-hosted HLS streams. Built on hls.js with Mux-specific optimizations.

Examples

Basic Usage

<media-container class="media-container">
    <mux-video
        src="https://stream.mux.com/BV3YZtogl89mg9VcNBhhnHm02Y34zI1nlMuMQfAbl3dM.m3u8"
        autoplay
        muted
        playsinline
        loop
        crossorigin="anonymous"
    ></mux-video>
</media-container>

API Reference

Attributes

Forwards these standard media attributes to the internal <video>. See the MDN media element reference: autopictureinpictureautoplaycontrolscontrolslistcrossorigindisablepictureinpicturedisableremoteplaybackloadingloopmutedplaysinlineposterpreloadsrc

These Video.js-specific attributes configure media behavior:

Attribute Type Default Details
stream-type StreamType 'unknown'

Properties

Property Type Default Details
audioRenditions AudioRenditionListLike | undefined
audioTracks AudioTrackListLike | undefined
config HlsMediaConfig {}
engine Hls | null
error (ErrorLike & MediaError) | null
isFullscreen boolean
isPictureInPicture boolean
liveEdgeStart number
preload PreloadType 'metadata'
src string ''
streamType StreamType 'unknown'
targetLiveWindow number
videoRenditions VideoRenditionListLike | undefined
videoTracks VideoTrackListLike | undefined
webkitCurrentPlaybackTargetIsWireless boolean | undefined
webkitPresentationMode WebKitPresentationMode | undefined
webkitSetPresentationMode ((mode: WebKitPresentationMode) => void) | undefined

Also exposes these properties from the native media API. See HTMLVideoElement for details: autoplaybufferedcontrolscrossOrigincurrentSrccurrentTimedefaultMuteddefaultPlaybackRatedisablePictureInPicturedisableRemotePlaybackdurationendedloopmutedpausedplaybackRateplayedplaysInlineposterreadyStateremoteseekableseekingtextTrackstitlevideoHeightvideoWidthvolume

Methods

Supports these media methods . See HTMLVideoElement for details: addTextTrackcanPlayTypeexitFullscreenexitPictureInPictureloadpauseplayrequestFullscreenrequestPictureInPicture

Events

Re-dispatches these standard media events from the internal media element: abortaddtrackcanplaycanplaythroughchangedurationchangeemptiedendedenterpictureinpictureerrorleavepictureinpictureloadeddataloadedmetadataloadstartpauseplayplayingprogressratechangeremovetrackresizeseekedseekingstalledsuspendtimeupdatevolumechangewaiting

Also emits these Video.js-specific events:

Event Description
streamtypechange Fired when the detected stream type changes. Read `streamType` for the new value.
targetlivewindowchange Fired when the target live window changes. Read `targetLiveWindow` for the new value.

CSS custom properties

Variable Details
--media-video-border-radius
--media-object-fit
--media-object-position
--media-caption-track-duration
--media-caption-track-delay
--media-caption-track-y