【发布时间】:2022-01-12 13:03:57
【问题描述】:
我有一个任务,但我似乎无法完成它。 我在 Raspberry Pi 上创建了一个非常简单的 WebRTC 流,它将用作视频聊天摄像头。 使用 ionic,我制作了一个简单的移动应用程序,当手机连接到同一网络时,它可以显示我的 WebRTC 流。这一切都有效。
所以现在我有自己的本地流,它显示在我的应用程序上。 我现在希望能够将此流从我的手机广播到实时服务器,以便其他人可以观看。
我知道如何创建一个 NodeJS 服务器,它使用“getUserMedia”功能部署我的网络摄像头。但我想将我的 WebRTC 流“推送”到实时服务器,以便检索它的公共 URL。
有没有办法将我的本地 Websocket 推送到实时环境? 我正在使用本地 RTCPeerConnection 创建 MediaStream 对象
this.peerconnection = new RTCPeerConnection(this.peerservers);
this.peerconnection.onicecandidate = (event) => {
if (event.candidate && event.candidate.candidate) {
var candidate = {
sdpMLineIndex: event.candidate.sdpMLineIndex,
sdpMid: event.candidate.sdpMid,
candidate: event.candidate.candidate
};
var request = {
what: "addIceCandidate",
data: JSON.stringify(candidate)
};
this.websockets.send(JSON.stringify(request));
} else {
console.log("End of candidates.");
}
};
并将流对象绑定到我正在使用的 HTML 视频标签
onTrack(event) {
this.remoteVideo.srcObject = event.streams[0];
}
我的流网址类似于:MyLocalIP:port/streams/webrtc 所以我想用它创建一个公共 URL 来广播它。
【问题讨论】:
标签: node.js ionic-framework websocket webrtc rtcpeerconnection