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.
<div id="interfaceDiagram" style="display: inline-block; position: relative; width: 100%; padding-bottom: 23.333333333333332%; vertical-align: middle; overflow: hidden;"><svg style="display: inline-block; position: absolute; top: 0; left: 0;" viewbox="-50 0 600 140" preserveAspectRatio="xMinYMin meet"><a xlink:href="/docs/Web/API/EventTarget" target="_top"><rect x="1" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="56" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">EventTarget</text></a><polyline points="111,25 121,20 121,30 111,25" stroke="#D4DDE4" fill="none"/><line x1="121" y1="25" x2="151" y2="25" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/Node" target="_top"><rect x="151" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="188.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Node</text></a><polyline points="226,25 236,20 236,30 226,25" stroke="#D4DDE4" fill="none"/><line x1="236" y1="25" x2="266" y2="25" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/Element" target="_top"><rect x="266" y="1" width="75" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="303.5" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">Element</text></a><polyline points="341,25 351,20 351,30 341,25" stroke="#D4DDE4" fill="none"/><line x1="351" y1="25" x2="381" y2="25" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/HTMLElement" target="_top"><rect x="381" y="1" width="110" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="436" y="30" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLElement</text></a><polyline points="491,25 501,20 501,30 491,25" stroke="#D4DDE4" fill="none"/><line x1="501" y1="25" x2="509" y2="25" stroke="#D4DDE4"/><line x1="509" y1="25" x2="509" y2="90" stroke="#D4DDE4"/><line x1="509" y1="90" x2="492" y2="90" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/HTMLMediaElement" target="_top"><rect x="331" y="65" width="160" height="50" fill="#fff" stroke="#D4DDE4" stroke-width="2px" /><text x="411" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLMediaElement</text></a><polyline points="331,89 321,84 321,94 331,89" stroke="#D4DDE4" fill="none"/><line x1="321" y1="89" x2="291" y2="89" stroke="#D4DDE4"/><a xlink:href="/docs/Web/API/HTMLVideoElement" target="_top"><rect x="131" y="65" width="160" height="50" fill="#F4F7F8" stroke="#D4DDE4" stroke-width="2px" /><text x="211" y="94" font-size="12px" font-family="Consolas,Monaco,Andale Mono,monospace" fill="#4D4E53" text-anchor="middle" alignment-baseline="middle">HTMLVideoElement</text></a></svg></div>
a:hover text { fill: #0095DD; pointer-events: all;}
Properties
Inherits properties from its ancestor interfaces, HTMLMediaElement
, and HTMLElement
.
HTMLVideoElement.height
- Is a
DOMString
that reflects theheight
HTML attribute, which specifies the height of the display area, in CSS pixels. HTMLVideoElement.poster
- Is a
DOMString
that reflects theposter
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 thewidth
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
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
HTMLVideoElement | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 4 | IE Full support 9 | Opera Full support 10.5 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
cancelVideoFrameCallback | Chrome Full support 83 | Edge Full support 83 | Firefox No support No | IE No support No | Opera Full support 69 | Safari No support No | WebView Android Full support 83 | Chrome Android Full support 83 | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
getVideoPlaybackQuality | Chrome Full support 80 | Edge Full support 12 | Firefox
Full support
42
| IE
Full support
11
| Opera Full support 67 | Safari Full support 8 | WebView Android Full support 80 | Chrome Android Full support 80 | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
height | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 4 | IE Full support 9 | Opera Full support 10.5 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
mozDecodedFrames | Chrome No support No | Edge No support No | Firefox Full support 5 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 5 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
mozFrameDelay | Chrome No support No | Edge No support No | Firefox Full support 5 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 5 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
mozHasAudio | Chrome No support No | Edge No support No | Firefox Full support 15 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 15 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
mozPaintedFrames | Chrome No support No | Edge No support No | Firefox Full support 5 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 5 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
mozParsedFrames | Chrome No support No | Edge No support No | Firefox Full support 5 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 5 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
mozPresentedFrames | Chrome No support No | Edge No support No | Firefox Full support 5 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 5 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
msIsStereo3D | Chrome No support No | Edge No support 12 — 79 | Firefox No support No | IE Full support 10 | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
poster | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 4 | IE Full support 9 | Opera Full support 10.5 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
requestVideoFrameCallback | Chrome Full support 83 | Edge Full support 83 | Firefox No support No | IE No support No | Opera Full support 69 | Safari No support No | WebView Android Full support 83 | Chrome Android Full support 83 | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No |
videoHeight | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 4 | IE Full support 9 | Opera Full support 10.5 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
videoWidth | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 4 | IE Full support 9 | Opera Full support 10.5 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
width | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 4 | IE Full support 9 | Opera Full support 10.5 | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung 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
- HTML element implementing this interface:
<video>
. - Demo of video paint statistics
- Supported media formats