Что нужно сделать, чтобы передать MediaStream, созданный из MediaDevices.getUserMedia() в электронном /Chromium, в качестве источника в OBS Studio?

У меня есть электронное приложение, которое захватывает winodw и изnavigator.mediaDevices.getUserMedia

      // In the renderer process.
const { desktopCapturer } = require('electron')

desktopCapturer.getSources({ types: ['window', 'screen'] }).then(async sources => {
  for (const source of sources) {
    if (source.name === 'Electron') {
      try {
        const stream = await navigator.mediaDevices.getUserMedia({
          audio: false,
          video: {
            mandatory: {
              chromeMediaSource: 'desktop',
              chromeMediaSourceId: source.id,
              minWidth: 1280,
              maxWidth: 1280,
              minHeight: 720,
              maxHeight: 720
            }
          }
        })
        handleStream(stream)
      } catch (e) {
        handleError(e)
      }
      return
    }
  }
})

function handleStream (stream) {
  // do what ever you want to do with this MediaStream
  // work around to pass this as source to OBS Studio
}

function handleError (e) {
  console.log(e)
}

Я могу получить кляксу из этогосоздает MediaStreamMediaStream с использованием MediaRecorderно не смог определить точный рабочий подход, чтобы наконец использовать его в качестве источника для OBS Studio .

Каким должен быть правильный обходной путь для этого?

0 ответов

Другие вопросы по тегам