我正在使用 Red5pro html SDK 在服务器和客户端之间创建点对点连接,视频和音频聊天就像getUserMedia()的魅力一样。问题是,我想使用captureStream()从 DOM 元素(Canvas)而不是用户的相机进行流式传输。
Red5Pro 具有名为“ OnGetUserMedia ”的方法,其说明如下:
onGetUserMedia 方法 - 在提供给基于 WebRTC 的发布者的配置上定义时 - 将覆盖 Red5 Pro HTML SDK 中对 getUserMedia 的内部调用。
您可以通过将 onGetUserMedia 属性设置为符合以下准则的方法来提供有关如何调用 getUserMedia 和获得媒体流的自己的逻辑:
没有为 onGetUserMedia 提供输入参数。预计返回一个 Promise 对象。必须在 Promise 的解析中提供 MediaStream 对象。
当我进行研究并询问 Red5pro 支持团队时,他们说
在返回的 Promise 中,您可以从 captureStream 派生一个 MediaStream。
参考:Red5Pro 文档
我只是不知道该怎么做,或者改变什么。
这是onGetUserMedia方法的示例:
{
host: "localhost",
protocol: 8083,
port: 8081,
streamName: "mystream",
iceServers: [{ urls: "stun:stun2.l.google.com:19302" }],
onGetUserMedia: function () {
return navigator.mediaDevices.getUserMedia({
audio: true,
video: {
width: {
max: 1920,
ideal: 1280,
min: 640,
},
width: {
max: 1080,
ideal: 720,
min: 360,
},
},
});
},
};
有什么帮助吗?