In a previous post we reviewed topics discussed at the W3C interim meeting held on September 9 to 10th. In this post we provide further details on WebRTC screen sharing and WebRTC screen capture APIs.
Standard work on screen capture is progressing nicely. Discussions recently have been primarily about screen capture user permissions and APIs for different capture scenarios and needs such as application, application windows, browser full screen and monitor.
Some background about screen capture
The screen capture specification defines an extension to the Media Capture and Streams specification to enable acquiring a user’s whole screen, an individual browser window (meaning tab), or all the windows of a specific application as a video media track which can then be manipulated or sent over a Peer Connection just like any other media track.
Just like we already have navigator.mediaDevices.getUserMedia(), this specification now defines navigator.mediaDevices.getDisplayMedia().
What to share
Screen capture can be of one of the below 4 types:
Monitor – One or more physical displays. If the user has more than one screen connected to his computer he may choose which one to share or share all.
Window – An application window
Application – A collection of windows of a specific application
Browser – A tab of the browser
Logical vs. visible surface
There is also an ability to choose whether the visible surface should be captured or the logical surface.
If the visible surface is chosen, it would share only the part of the window that is visible on the user’s side (for example, the part of the window not covered by another window that is not shared), while if the logical surface is chosen it will share the full application window even if part or all of it is covered by another window.
Screen sharing is a common and important feature therefore this has significant impact on applications.
Blocked vs. default is not in the standard draft yet but will get there eventually.
The control over application vs. Window sharing may be removed from the specification and left in the hands of the user.
Details are available for WebRTC Standards Pro users only Signup for Pro Account