首页 > 解决方案 > 从 ReadableStream 创建 MediaStream

问题描述

我正在使用puppeteer-stream来获取由 Node 控制的浏览器流,在服务器上运行。我可以毫无问题地将此流写入文件。

我想通过 WebRTC 将此流流式传输到浏览器(基本上是为了查看浏览器实时运行的内容)。对于 webrtc,我正在尝试使用simple-peer,因为它已经为 Node 和浏览器端提供了现成的绑定。

但是,当我尝试将此流传递给 simple-peer 时,出现以下错误:

/Users/my_user/my_project/node_modules/simple-peer/index.js:286
    stream.getTracks().forEach(track => {
           ^

TypeError: stream.getTracks is not a function
    at Peer.addStream (/Users/my_user/my_project/node_modules/simple-peer/index.js:286:12)

这是因为我拥有的 Stream 是ReadableStream,但 simple-peer (或大多数 webrtc 库)需要一个MediaStream

如何将实时ReadableStream转换为可与 WebRTC 一起使用的MediaStream ?我找到了将MediaStreams转换为ReadableStreams的示例, 例如此处,反之亦然。

我在这里错过了什么吗?

标签: node.jswebrtcnode-streamsmediastreamsimple-peer

解决方案


推荐阅读