HTMLVideoElement
================

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

HTMLVideoElementInstance properties
-------------------

*Inherits properties from its parent interface, `HTMLMediaElement`, and `HTMLElement`.*

`HTMLVideoElement.disablePictureInPicture`

Indicates if the user agent should suggest the picture-in-picture to users, or not.

`HTMLVideoElement.height`

A string that reflects the `height` HTML attribute, which specifies the height of the display area, in CSS pixels.

`HTMLVideoElement.poster`

A string 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`

A string that reflects the `width` HTML attribute, which specifies the width of the display area, in CSS pixels.

### Gecko-specific properties

`HTMLVideoElement.mozParsedFrames` 
Non-standard
 Read only  
Deprecated

Returns an `unsigned long` with the count of video frames that have been parsed from the media resource.

`HTMLVideoElement.mozDecodedFrames` 
Non-standard
 Read only  
Deprecated

Returns an `unsigned long` with the count of parsed video frames that have been decoded into images.

`HTMLVideoElement.mozPresentedFrames` 
Non-standard
 Read only  
Deprecated

Returns an `unsigned long` with the count of decoded frames that have been presented to the rendering pipeline for painting.

`HTMLVideoElement.mozPaintedFrames` 
Non-standard
 Read only  
Deprecated

Returns an `unsigned long` with the count of presented frames which were painted on the screen.

`HTMLVideoElement.mozFrameDelay` 
Non-standard
 Read only  
Deprecated

Returns an `double` with the time which the last painted video frame was late by, in seconds.

`HTMLVideoElement.mozHasAudio` 
Non-standard
 Read only  
Deprecated

Returns a boolean indicating if there is some audio associated with the video.

Instance methods
----------------

*Inherits methods from its parent interface, `HTMLMediaElement`, and `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.

`HTMLVideoElement.requestPictureInPicture()`

Requests that the user agent make video enters picture-in-picture mode

Events
------

*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.

`enterpictureinpicture`

Fired when the `HTMLVideoElement` enters picture-in-picture mode successfully.

`leavepictureinpicture`

Fired when the `HTMLVideoElement` leaves picture-in-picture mode successfully.

Specifications
--------------

| Specification |
| --- |
| HTML Standard # htmlvideoelement |

Browser compatibility
---------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

See also
--------

* HTML element implementing this interface: `<video>`.
* Supported media formats