Get to know MDN better
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Implemented by the <video> element, 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.
EventTarget Node Element HTMLElement HTMLMediaElement HTMLVideoElementInherits properties from its parent interface, HTMLMediaElement, and HTMLElement.
HTMLVideoElement.disablePictureInPictureIndicates if the user agent should suggest the picture-in-picture to users, or not.
HTMLVideoElement.heightA string that reflects the height HTML attribute, which specifies the height of the display area, in CSS pixels.
HTMLVideoElement.posterA string that reflects the poster HTML attribute, which specifies an image to show while no video data is available.
HTMLVideoElement.videoHeight Read onlyReturns 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 onlyReturns an unsigned integer value indicating the intrinsic width of the resource in CSS pixels, or 0 if no media is available yet.
HTMLVideoElement.widthA string that reflects the width HTML attribute, which specifies the width of the display area, in CSS pixels.
Returns an unsigned long with the count of video frames that have been parsed from the media resource.
HTMLVideoElement.mozDecodedFrames Read onlyReturns an unsigned long with the count of parsed video frames that have been decoded into images.
HTMLVideoElement.mozPresentedFrames Read onlyReturns an unsigned long with the count of decoded frames that have been presented to the rendering pipeline for painting.
HTMLVideoElement.mozPaintedFrames Read onlyReturns an unsigned long with the count of presented frames which were painted on the screen.
HTMLVideoElement.mozFrameDelay Read onlyReturns a double with the time which the last painted video frame was late by, in seconds.
HTMLVideoElement.mozHasAudio Read onlyReturns a boolean indicating if there is some audio associated with the video.
Inherits methods from its parent interface, HTMLMediaElement, and HTMLElement.
HTMLVideoElement.cancelVideoFrameCallback()Cancels a previously-registered video frame callback (see requestVideoFrameCallback()).
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.
HTMLVideoElement.requestPictureInPicture()Requests that the user agent enters the video into picture-in-picture mode.
HTMLVideoElement.requestVideoFrameCallback()Registers a callback function that runs when a new video frame is sent to the compositor. This enables developers to perform efficient operations on each video frame.
Inherits events from its parent interface, HTMLMediaElement, and HTMLElement.
Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface.
enterpictureinpictureFired when the HTMLVideoElement enters picture-in-picture mode successfully.
leavepictureinpictureFired when the HTMLVideoElement leaves picture-in-picture mode successfully.
resizeFires when one or both of the videoWidth and videoHeight properties have just been updated.
| HTML # htmlvideoelement |
Enable JavaScript to view this browser compatibility table.
This page was last modified on Oct 30, 2025 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.