微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 MediaDevices.getUserMedia() 生成的 MediaStream 作为源传递给 OBS Studio、VLC、youtube live、facebook live 等应该如何解决?

如何解决将 MediaDevices.getUserMedia() 生成的 MediaStream 作为源传递给 OBS Studio、VLC、youtube live、facebook live 等应该如何解决?

我有一个电子应用程序,它正在捕获 winodw 并从 MediaStream

生成 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)
}

我可以使用 Blob 获得 MediaStream 中的 MediaRecorder,但无法确定最终将其用作 OBS Studio、VLC、Yuotube live 或脸书直播。

实现这一目标的正确解决方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。