I know that I can render to a peer connection (for example, screen sharing with getDisplayMedia, or streaming from canvas to peer connection with captureStream).
But is it possible, using a Chrome Extension, to create and render to a virtual camera, so that the user can then choose that camera inside any/all of the popular web videochat applications (Zoom for web, Google Hangouts, etc.)? I'm new to WebRTC, but I'm guessing this would mean somehow adding a new mediaDevice/videoSource.
(I realize a similar result can be achieved by rendering to a canvas in a separate tab and then "presenting" the tab to the videochat, but that's not quite what I'm after.)
You can check this proof of concept .