Media

Beyond playing files (Multimedia and Playing Audio and Video), the browser can capture, record, stream, speak, listen, make music and encode video frame by frame.

Many of these APIs revolve around the MediaStream: a bundle of audio and video MediaStreamTrack objects with a source (a camera, a screen, a WebRTC peer as in WebRTC Video Channel, or a Web Audio node) and consumers (a media element, MediaRecorder, RTCPeerConnection or AudioContext). Capture needs a secure context and permission. The examples ran in headless Chrome 152 1 with its fake camera and microphone.

Media APIs and their Baseline status (webstatus.dev and MDN 102 )
API Entry point Support (September 2026)
Media capture mediaDevices.getUserMedia() Widely available (2017)
Image Capture new ImageCapture(track) Chromium 4,389 , Safari 18.4 10 ; no Firefox 555
MediaStream Recording new MediaRecorder(stream) Widely available (2021)
Screen Capture getDisplayMedia() Desktop only
Media Capabilities mediaCapabilities.decodingInfo() Widely available (2022)
Media Session navigator.mediaSession All engines; Limited
Encrypted Media Extensions requestMediaKeySystemAccess() Widely available (2019)
Media Source Extensions new MediaSource() Limited: iPhone needs ManagedMediaSource
WebVTT <track>, VTTCue Widely available (2015)
Speech synthesis speechSynthesis.speak() Widely available (2018)
Speech recognition SpeechRecognition Chromium; Safari prefixed
Web MIDI requestMIDIAccess() Chromium, Firefox; no Safari
Web Audio new AudioContext() Widely available (2021)
WebCodecs VideoEncoder, AudioDecoder Chromium, Firefox, Safari 26

Subsections