Media type and format guide: image, audio, and video content
Since nearly its beginning, the web has included support for some form of visual media presentation. Originally, these capabilities were limited, and were expanded organically, with different browsers finding their own solutions to the problems around including still and video imagery on the web. The modern web has powerful features to support the presentation and manipulation of media, with several media-related APIs supporting various types of content. Generally, the media formats supported by a browser are entirely up to the browser's creators, which can complicate the work of a web developer.
This guide provides an overview of the media file types, codecs, and algorithms that may comprise media used on the web. It also provides browser support information for various combinations of these, and suggestions for prioritization of formats, as well as which formats excel at specific types of content.
- Image file type and format guide
- Covers support of image file types and content formats across the major web browsers, as well as providing basic information about each type: benefits, limitations, and use cases of interest to web designers and developers.
- Image file types for web designers
- Fundamental information about the various image file types that may be useful for web designers, including best practices and use cases for each type, and guidelines for choosing the right image file format for specific types of content.
Media file types and codecs
- Media containers (file types)
- A guide to the file types that contain media data. Some are audio-specific, while others may be used for either audio or combined audiovisual content such as movies. Includes overviews of each of the file types supported by the major web browsers, along with browser support information and supported features.
- Web audio codec guide
- A guide to the audio codecs allowed for by the common media containers, as well as by the major browsers. Includes benefits, limitations, key specifications and capabilities, and use cases. It also covers each browser's support for using the codec in given containers.
- Web video codec guide
- This article provides basic information about the video codecs supported by the major browsers, as well as some that are not commonly supported but that you might still run into. It also covers codec capabilities, benefits, limitations, and browser support levels and restrictions.
- The "codecs" parameter in common media types
- When specifying the MIME type describing a media format, you can provide details using the
codecsparameter as part of the type string. This guide describes the format and possible values of the
codecsparameter for the common media types.
- Codecs used by WebRTC
- WebRTC doesn't use a container, but instead streams the encoded media itself from peer to peer using
MediaStreamTrackobjects to represent each audio or video track. This guide discusses the codecs commonly used with WebRTC.
- Digital audio concepts
- An introduction to how audio is converted into digital form and stored for use by computers. It explains basic concepts about how audio is sampled, as well as concepts such as sample rate, audio frames, and audio compression.
- Digital video concepts
- A guide to fundamental concepts involved with digital video as used on the web, including basics about color formats, chroma subsampling, how human perception influences video coding, and so forth.
Tutorials and how-tos
- Learning: Video and audio content
- This tutorial introduces and details the use of media on the web.
- Handling media support issues in web content
- In this guide, we look at how to build web content that maximizes quality or performance while providing the broadest possible compatibility, by choosing media formats wisely, and offering fallbacks and alternate formats where it would be helpful.
- Media Capabilities API
- The Media Capabilities API lets you discover the encoding and decoding capabilities of the device your app or site is running on. This lets you make real-time decisions about what formats to use and when.