Screencasting (or screen sharing) in WebRTC refers to capturing and transmitting the content of a user’s screen, application window, or browser tab to remote participants.
Screen sharing in WebRTC
Screen sharing uses the getDisplayMedia API (not getUserMedia), which prompts the user to select what to share:
- Entire screen: Captures everything on a display
- Application window: Captures a specific application
- Browser tab: Captures a single tab (Chrome/Edge support audio capture from tabs too)
The captured MediaStream is then sent via a PeerConnection like any other video track. Screen sharing often runs alongside camera video, with each using its own m= line in Unified Plan SDP.
Screen sharing vs camera video
Screen content behaves differently from camera video:
- Resolution: Screen shares are typically 1080p or higher, compared to 720p for camera
- Frame rate: Lower (1-5 fps) since screen content changes less frequently
- Content type: Sharp text and edges benefit from codecs that handle screen content well (AV1 and VP9 have screen content coding tools)
- Bitrate: Can be high due to high resolution despite lower frame rate
Screen sharing is one of the most common features in video conferencing, remote support, and online education applications.


