This page is not complete.
Over the years, the Web's ability to present, create, and manage audio, video, and other media has grown at an increasing pace. Today, there are a large number of APIs available, as well as HTML elements, DOM interfaces, and other features that make it possible to not only perform these tasks, but use media in tandem with other technologies to do truly remarkable things. This article lists the various APIs with links to documentation you may find helpful in mastering them.
These articles cover HTML features for media developers.
<audio>element is used to play audio in a Web context. These can be used invisibly as a destination for more complex media, or with visible controls for user-controlled playback of audio files.
<video>element is an endpoint for video content in a Web context. It can be used to simply present video files, or as a destination for streamed video content.
<video>can also be used as a way to link media APIs with other HTML and DOM technologies, including
<canvas>(for frame grabbing and manipulation), for example.
- The HTML
<track>element can be placed within an
<video>element to provide a reference to a WebVTT format subtitle or caption track to be used when playing the media.
- Media Capture and Streams API
- A reference for the API which makes it possible to stream, record, and manipulate media both locally and across a network. This includes using local cameras and microphones to capture video, audio, and still images.
- Web Audio API
- The Web Audio API lets you generate, filter, and manipulate sound data both in real-time and on pre-recorded material, then send that audio to a destination such as an
<audio>element, a media stream, or to disk.
- WebRTC (Web Real-Time Communication) makes it possible to stream live audio and video, as well as transfer arbitrary data, between two peers over the Internet, without requiring an intermediary.
- Overview of media technology on the web
- A general look at the open Web technologies and APIs that provide support for audio and video playback, manipulation, and recording. If you're not sure which API you should use, this is the place to start.
Related topics which may be of interest, since they can be used in tandem with media APIs in interesting ways.
- The Canvas API
- The Canvas API lets you draw into an
<canvas>, manipulating and changing the contents of an image. This can be used with media in many ways, including by setting a
<canvas>element as the destination for video playback or camera capture so that you can capture and manipulate video frames.
- WebGL provides an OpenGL ES compatible API on top of the existing Canvas API, making it possible to do powerful 3D graphics on the Web. Through a canvas, this can be used to add 3D imagery to media content.
- The Web Virtual Reality API supports virtual reality (VR) devices such as the Oculus Rift or the HTC Vive, making it possible for developers to translate position and movement of the user into movement within a 3D scene which is then presented on the device. WebVR is expected to be gradually replaced with WebXR, which covers a wider range of use cases.
- WebXR, which is meant to eventually replace WebVR, is a technology that provides support for creating virtual reality (VR) and augmented reality (AR) content. The mixed reality content can then be displayed on the device's screen or using goggles or a headset.