Guide to media types and formats on the web
Since nearly the 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 (en-US), and algorithms that may comprise media used on the web. Browser support information for various combinations of these is also provided, and suggestions for prioritization of formats as well as which formats excel at specific types of content are also provided.
- Image file type and format guide
- Covers image file type and content format support 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 audio and/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. The support each browser has for using the codec in given containers is also covered.
- Web video codec guide
- This article provides basic information about the video codecs supported by the major browsers, as well as potentially some not commonly supported that you might still run into. Codec capabilities, benefits, limitations, and browser support levels and restrictions are covered as well.
- 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. In this guide, the format and possible values of the
codecsparameter for the common media types are described.
- 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. In this guide, the codecs commonly used with WebRTC are discussed.
- Digital audio concepts
- An introduction to how audio is converted into digital form and stored for use by computers. Basics about how audio is sampled are explained, as are 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
- In this tutorial, the use of media on the web is introduced and covered in reasonable detail.
- Handling media support issues in web content
- In this guide, we look at how to build web content that maximizes quality and/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 determine 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.