|Description||A replacement for the HTML5
|Examples||AMP By Example's:|
|Supported Layouts||fill, fixed, fixed-height, flex-item, nodisplay, responsive|
amp-video component loads the video resource specified by its
src attribute lazily, at a time determined by the runtime. You can control an
amp-video component much the same way as a standard HTML5
amp-video component accepts up to four unique types of HTML nodes as children:
sourcetags: Just like in the HTML
<video>tag, you can add
<source>tag children to specify different source media files to play.
tracktags to enable subtitles in the video. If the track is hosted on a different origin than the document, you must add the
crossoriginattribute to the
- a placeholder for before the video starts
- a fallback if the browser doesn’t support HTML5 video: One or zero immediate child nodes can have the
fallbackattribute. If present, this node and its children form the content that displays if HTML5 video is not supported on the user’s browser.
Required if no
<source> children are present. Must be HTTPS.
The image for the frame to be displayed before video playback has started. By default, the first frame is displayed.
Alternatively, you can present a click-to-play overlay. For details, see the Click-to-Play overlay section below.
If this attribute is present, and the browser supports autoplay:
- the video is automatically muted before autoplay starts
- when the video is scrolled out of view, the video is paused
- when the video is scrolled into view, the video resumes playback
- when the user taps the video, the video is unmuted
- if the user has interacted with the video (e.g., mutes/unmutes, pauses/resumes, etc.), and the video is scrolled in or out of view, the state of the video remains as how the user left it. For example, if the user pauses the video, then scrolls the video out of view and returns to the video, the video is still paused.
This attribute is similar to the
controls attribute in the HTML5
video. If this attribute is present, the browser offers controls to allow the user to control video playback.
Same as controlsList attribute of HTML5 video element. Only supported by certain browsers. Please see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/controlsList for details.
If present, the video will automatically loop back to the start upon reaching the end.
Required if a
track resource is hosted on a different origin than the document.
Determines whether the media element is allowed to have a remote playback UI such as Chromecast or AirPlay.
muted attribute is deprecated and no longer has any effect. The
autoplay attribute automatically controls the mute behavior.
This element includes common attributes extended to AMP components.
Media Session API attributes
amp-video component implements the Media Session API, which enables developers to specify more information about the video file. The additional information for the video displays in the notification center of the user's device (along with the play/pause controls).
Specifies a URL to a PNG/JPG/ICO image serving as the video's artwork. If
artwork is not present, the Media Session API helper uses either the
image field in the
schema.org definition, the
og:image, or the website's
Indicates the author of the video file, specified as a string.
Indicates the album/collection the video was taken from, specified as a string.
Indicates the name/title of the video, specified as a string. If not provided, the Media Session API helper uses either the
aria-label attribute or falls back to the page's title.
This example contains both the
artwork attributes. The
poster serves as the placeholder image before the video plays, while
artwork is the image that displays in the notification via the MediaSession API.
<amp-video width="720" height="305" layout="responsive" src="https://yourhost.com/videos/myvideo.mp4" poster="https://yourhost.com/posters/poster.png" artwork="https://yourhost.com/artworks/artwork.png" title="Awesome video" artist="Awesome artist" album="Amazing album"> </amp-video>
Providing a click-to-play overlay is a common UX feature for video players on the web. For example, you could display a custom play icon that the user can click, as well as include the title of the video, different sized poster images, and so on. Because the
amp-video component supports the standard
play AMP action, you can easily implement click-to-play.
For a detailed example, visit AMP By Example's Click-to-play overlay for amp-video.
See amp-video rules in the AMP validator specification.