The DisplayMediaStreamConstraints dictionary's video property is used to configure the video track in the stream returned by getDisplayMedia(). This value may simply be a Boolean, where true specifies that a default selection of input source be made (typically the entire display area of the device in use, spanning every screen in a multiple screen configuration). Since a video track must always be included, a value of false results in a TypeError exception being thrown.

More precise control over the format of the returned video track may be exercised by instead providing a MediaTrackConstraints object, which is used to process the video data after obtaining it from the device but prior to adding it to the stream.


displayMediaStreamConstraints.video = allowVideoFlag;
displayMediaStreamConstraints.video = mediaTrackConstraints;

displayMediaStreamConstraints = {
  video: allowVideoFlag | mediaTrackConstraints;


The value may be either a Boolean or a MediaTrackConstraints object.

If a Boolean is specified, a value of true (the default) indicates that the stream returned by getDisplayMedia() should be in whatever format the user agent feels is best. A value of false is not permitted and will throw a TypeError.

If a MediaTrackConstraints object is given instead, the video track will be processed to match the settings given in the constraints object.

Constraints specific to screen sharing

These constraints apply to MediaTrackConstraints objects specified as part of the DisplayMediaStreamConstraints object's video property when using getDisplayMedia() to obtain a stream for screen sharing.


A ConstrainDOMString which specifies whether or not to include the mouse cursor in the generated track, and if so, whether or not to hide it while not moving. The value may be a single one of the following strings, or an array of them to allow the browser flexibility in deciding what to do about the cursor.

The mouse is always visible in the video content of the {domxref("MediaStream"), unless the mouse has moved outside the area of the content.
The mouse cursor is always included in the video if it's moving, and for a short time after it stops moving.
The mouse cursor is never included in the shared video.

A ConstrainDOMString which specifies the types of display surface that may be selected by the user. This may be a single one of the following strings, or a list of them to allow multiple source surfaces:

The stream contains all of the windows of the application chosen by the user rendered into the one video track.
The stream contains the contents of a single browser tab selected by the user.
The stream's video track contains the entire contents of one or more of the user's screens.
The stream contains a single window selected by the user for sharing.
A ConstrainBoolean value which may contain a single Boolean value or a set of them, indicating whether or not to allow the user to choose source surfaces which do not directly correspond to display areas. These may include backing buffers for windows to allow capture of window contents that are hidden by other windows in front of them, or buffers containing larger documents that need to be scrolled through to see the entire contents in their windows.



Specification Status Comment
The definition of 'DisplayMediaStreamConstraints.video' in that specification.
Unknown Initial definition

Browser compatibility

No compatibility data found. Please contribute data for "api.DisplayMediaStreamConstraints.video" (depth: 1) to the MDN compatibility data repository.

See also