Selkies
Developer Reference

webrtc_mode

WebRTC streaming mode: the service that pairs pixelflux capture with RTC peers.

This module hosts WebRTCService, the WebRTC counterpart of the websockets streaming engine. It owns one MediaPipelinePixel per display, the vendored RTC stack (RTCApp), the internal signaling client, the input handler, and the TURN/STUN credential monitors, and wires them together with callbacks on a single asyncio event loop (blocking pixelflux/compositor queries are pushed to threads via asyncio.to_thread).

Feature parity with the websockets transport is a design requirement, so the same policies are re-implemented against RTC primitives here: per-display client-tunable video settings, the extended-desktop layout for a secondary display (xrandr monitors on X11, compositor outputs on Wayland), the all-consumers-paused capture stop, keyframe-request throttling, the DPI/scale ladder, token reconciliation for live peers, and the shared virtual-microphone control plane.

attributelogger
= logging.getLogger('webrtc')
attributeCURSOR_SIZEOptional[int]
= settings.cursor_size if settings.cursor_size > 0 else None
attributeIS_WAYLANDbool
= bool(settings.wayland[0])

On this page

No Headings
Edit on GitHub