MediaStreamConstraints

The MediaStreamConstraints dictionary is used when calling getUserMedia() to specify what kinds of tracks should be included in the returned MediaStream, and, optionally, to establish constraints for those tracks' settings.

To learn more about how constraints work, see Capabilities, constraints, and settings.

Properties

Some combination—but not necessarily all—of the following properties will exist on the object.

Track constraints

audio
Either a Boolean (which indicates whether or not an audio track is requested) or a MediaTrackConstraints object providing the constraints which must be met by the audio track included in the returned MediaStream. If constraints are specified, an audio track is inherently requested.
video
Either a Boolean (which indicates whether or not a video track is requested) or a MediaTrackConstraints object providing the constraints which must be met by the video track included in the returned MediaStream. If constraints are specified, a video track is inherently requested.

Security

peerIdentity
A DOMString identifying the peer who has sole access to the stream. If this property is specified, only the indicated peer can receive and use the stream. Streams isolated in this way can only be displayed in a media element (<audio> or <video>) where the content is protected just as if CORS cross-origin rules were in effect. When a peer identity is set, MediaStreamTracks from that peer have their isolated flag set to true.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
MediaStreamConstraintsChrome Full support 53Edge Full support ≤79Firefox Full support 38IE No support NoOpera Full support YesSafari ? WebView Android Full support 53Chrome Android Full support 53Firefox Android Full support 38Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support 6.0
audioChrome Full support YesEdge Full support ≤79Firefox Full support 38IE No support NoOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 38Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes
videoChrome Full support YesEdge Full support ≤79Firefox Full support 38IE No support NoOpera Full support YesSafari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support 38Opera Android Full support YesSafari iOS ? Samsung Internet Android Full support Yes

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown

See also