HTMLVideoElement

The HTMLVideoElement interface provides special properties and methods for manipulating video objects. It also inherits properties and methods of HTMLMediaElement and HTMLElement.

The list of supported media formats varies from one browser to the other. You should either provide your video in a single format that all the relevant browsers supports, or provide multiple video sources in enough different formats that all the browsers you need to support are covered.

Properties

Inherits properties from its ancestor interfaces, HTMLMediaElement, and HTMLElement.

HTMLVideoElement.height
Is a DOMString that reflects the height HTML attribute, which specifies the height of the display area, in CSS pixels.
HTMLVideoElement.poster
Is a DOMString that reflects the poster HTML attribute, which specifies an image to show while no video data is available.
HTMLVideoElement.videoHeight Read only
Returns an unsigned integer value indicating the intrinsic height of the resource in CSS pixels, or 0 if no media is available yet.
HTMLVideoElement.videoWidth Read only
Returns an unsigned integer value indicating the intrinsic width of the resource in CSS pixels, or 0 if no media is available yet.
HTMLVideoElement.width
Is a DOMString that reflects the width HTML attribute, which specifies the width of the display area, in CSS pixels.

Gecko-specific properties

HTMLVideoElement.mozParsedFrames Read only
Returns an unsigned long with the count of video frames that have been parsed from the media resource.
HTMLVideoElement.mozDecodedFrames Read only
Returns an unsigned long with the count of parsed video frames that have been decoded into images.
HTMLVideoElement.mozPresentedFrames Read only
Returns an unsigned long with the count of decoded frames that have been presented to the rendering pipeline for painting.
HTMLVideoElement.mozPaintedFrames Read only
Returns an unsigned long with the count of presented frames which were painted on the screen.
HTMLVideoElement.mozFrameDelay Read only
Returns an double with the time which the last painted video frame was late by, in seconds.
HTMLVideoElement.mozHasAudio Read only
Returns a boolean indicating if there is some audio associated with the video.

Microsoft Extensions

HTMLVideoElement.msFrameStep()
Steps the video by one frame forward or one frame backward.
HTMLVideoElement.msHorizontalMirror
Gets or sets whether a video element is flipped horizontally in the display.
HTMLVideoElement.msInsertVideoEffect()
Inserts the specified video effect into the media pipeline.
HTMLVideoElement.msIsLayoutOptimalForPlayback Read only
Indicates whether the video can be rendered more efficiently.
HTMLVideoElement.msIsStereo3D Read only
Determines whether the system considers the loaded video source to be stereo 3-D or not. Value set to true indicates source is stereo 3D.
HTMLVideoElement.msZoom
Controls whether the video frame is trimmed to fit the video display.

Methods

Inherits methods from its parent, HTMLMediaElement, and from its ancestor HTMLElement.

HTMLVideoElement.getVideoPlaybackQuality()
Returns a VideoPlaybackQuality object that contains the current playback metrics. This information includes things like the number of dropped or corrupted frames, as well as the total number of frames.

Events

Inherits methods from its parent, HTMLMediaElement, and from its ancestor HTMLElement. Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'HTMLVideoElement' in that specification.
Living Standard

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
HTMLVideoElementChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
cancelVideoFrameCallback
ExperimentalNon-standard
Chrome Full support 83Edge Full support 83Firefox No support NoIE No support NoOpera Full support 69Safari No support NoWebView Android Full support 83Chrome Android Full support 83Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
getVideoPlaybackQuality
Experimental
Chrome Full support 80Edge Full support 12Firefox Full support 42
Full support 42
No support 25 — 42
Notes Disabled
Notes Limited support to an allowed list of sites, for example YouTube, Netflix, and other popular streaming sites. The limitation was removed when Media Source Extensions was enabled by default in Firefox 42.
Disabled From version 25 until version 42 (exclusive): this feature is behind the media.mediasource.enabled preference. To change preferences in Firefox, visit about:config.
IE Full support 11
Notes
Full support 11
Notes
Notes Only works on Windows 8+.
Opera Full support 67Safari Full support 8WebView Android Full support 80Chrome Android Full support 80Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
heightChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
mozDecodedFrames
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 5IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 5Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozFrameDelay
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 5IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 5Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozHasAudio
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 15IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 15Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozPaintedFrames
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 5IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 5Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozParsedFrames
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 5IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 5Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
mozPresentedFrames
DeprecatedNon-standard
Chrome No support NoEdge No support NoFirefox Full support 5IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 5Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
msIsStereo3D
Non-standard
Chrome No support NoEdge No support 12 — 79Firefox No support NoIE Full support 10Opera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
posterChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
requestVideoFrameCallback
ExperimentalNon-standard
Chrome Full support 83Edge Full support 83Firefox No support NoIE No support NoOpera Full support 69Safari No support NoWebView Android Full support 83Chrome Android Full support 83Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android No support No
videoHeightChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
videoWidthChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes
widthChrome Full support YesEdge Full support 12Firefox Full support 4IE Full support 9Opera Full support 10.5Safari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.
Non-standard. Expect poor cross-browser support.
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

See also