We introduce a mechanism that allows an application to opt-in to exposing certain information to other applications which are video-capturing it. This allows collaboration between capturing and captured applications. For example, a VC application that's video-capturing a tab where a presentation application lives, could expose user-facing controls in the VC tab for navigating the presentation in the captured tab.
Display-capturing applications can offer the user improved functionality if they know what they are capturing, assuming the captured application collaborates. This is already possible using steganography. We offer a simpler, more reliable and more secure mechanism, by which an application may advertise select information - origin, handle, ID, etc. Additionally, the mechanism we propose allows the captured application to select the audience - the entire web or select origins. Finally, our mechanism offers some confidence in the capturer that certain parts of the message, if included, are not spoofed: 1. Only the top-level application can set the capture-handle, whereas steganography-based methods are exposed to messages being displayed by embedded content. 2. The browser provides the origin of the captured application (if it opts-in to exposing it).
Samples: https://w3c.github.io/mediacapture-handle/identity/demos/remote_control/capturer.html https://w3c.github.io/mediacapture-handle//identity/demos/self_capture_detection/index.html
Explainers: https://github.com/w3c/mediacapture-handle/blob/main/identity/README.md