我正在尝试使用WebRTC实时直播用户网络摄像头中的视频和音频。我无法弄清楚如何使用Janus Webrtc网关来执行此操作,以便一个人可以流式传输网络摄像头,而其他人可以在另一个网页上查看它。
我已经安装了Janus,并且能够使用浏览器连接Janus服务器。我将会话附加到流插件,然后使用createOffer
创建一个报价。调用onlocalstream
函数,然后设置视频元素的srcObject
。
广播公司
我可以像这样将会话附加到流媒体插件上:
janus.attach({
plugin: "janus.plugin.streaming",
[...]
..然后在成功处理程序中创建如下报价:
success: function(pluginHandle) {
streaming = pluginHandle;
var body = { "audio": { deviceId: { exact: audioSelect.value }},"video": { deviceId: { exact: videoSelect.value }} };
streaming.createOffer({
media: {
audioSend: true,
videoSend: true,
audioRecv: false,
videoRecv: false,
audio: { deviceId: { exact: audioSelect.value }},
video: { deviceId: { exact: videoSelect.value }}
},
success: function(jsep) {
console.log("jsep = " + jsep);
streaming.send({"message": body, "jsep": jsep});
},
error: function(error) {
console.log("error creating offer: " + error);
}
});
},
观看者
在查看者页面上,我也附加到流媒体插件,在这里我真的不知道该怎么做。是否要使用createOffer
或createAnswer
创建要约?
流媒体插件是我想要的正确插件吗?
当广播公司连接时,我确实在Janus服务器上看到错误:
[ERR] [plugins/janus_streaming.c:janus_streaming_handle_message:3614] Missing mandatory element (request)
我希望用户流式传输网络摄像头,其他用户将看到它(一对多广播)。我已经阅读了该线程,并且用户nschoe表示Janus可以实现: WebRTC - scalable live stream broadcasting / multicasting
答案 0 :(得分:0)
最近我遇到了一个使用Python的示例实现的问题。请尝试添加
media:{
request:"request type"
....
}
Where "request type" can be list, info, create, destroy, recording, edit, enable and disable
上获取更多信息。