Hi everyone ![]()
I’m developing a community plugin that integrates with the Gemini 2.0 Live API, enabling users to engage in real-time voice conversations with an AI assistant inside Obsidian.
As an enhancement, I’d like to include screen sharing — capturing either a full screen or a specific window — and streaming visual content alongside mic audio for AI processing.
What I’ve tried so far:
- Calling
navigator.mediaDevices.getDisplayMedia()results in aNotSupportedErrorinside Obsidian (Electron). - Wrapping it in feature checks or try/catch doesn’t help — no prompt appears.
- I’m aware that in Electron,
desktopCaptureris typically used, but I don’t know if it’s accessible inside a plugin sandbox.
Questions:
- Is
getDisplayMedia()intentionally unsupported or sandboxed in the Obsidian Electron environment? - Can community plugins access
desktopCapturer,ipcRenderer, orElectron.getCurrentWindow()? - Are there any known plugins or examples that perform screen capture (even periodic screenshots) from within Obsidian?
- If not possible directly, is the recommended approach to use an external Electron companion app that talks to the plugin via WebSocket or local server?
I’m trying to keep everything within the plugin if possible, but I’m open to clean workarounds. Any guidance from those who have explored this would be appreciated!
Thanks ![]()