问题标签 [janus-gateway]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4031 浏览

nginx - How to send RTP stream to Janus from NGINX RTMP module?

This is my first post here, even though this platform has already helped me a lot.

So, i'm trying to create a stream and display it in a browser. I have already configured NGINX with the rtmp module and my stream works very well with HLS (between 5 and 10 seconds of latency).

Now I would like to set up a low-latency stream and that's why I have installed the janus-gateway webRTC server that allows to take in input an RTP stream and provide in output a webRTC stream.

Here's the schema I'd like to follow :

OBS -> RTMP -> Nginx-rtmp-module -> ffmpeg -> RTP -> Janus -> webRTC -> Browser

But I have a problem with this part : "nginx-rtmp-module -> ffmpeg -> janus"

In fact, my janus's server is running and demos streaming works very well in localhost, but when i try to provide an RTP stream, Janus don't detect the stream in the demos (it shows "No remote video available").

Anyone can help me, please ?

Ressources :

  • My janus.plugin.streaming.jcfg configuration :
  • My nginx.conf application :

If you need something more for help me, don't hesitate ! Thank you in advance, and sorry for my bad english :)

0 投票
4 回答
849 浏览

webrtc - 视频室集成中的屏幕共享

我已经成功使用了 videoroomtest 和集成视频会议。但我想在我的视频室中也集成屏幕共享。如何在用户连接的视频室中启动屏幕共享。

屏幕共享还使用 videoroom 插件。这个怎么做。请帮忙。

任何帮助将不胜感激。

问候, 阿卡什

0 投票
1 回答
472 浏览

swift - swift Janus 无法发布视频,但成功获取远程视频 - 不知道原因

我试图使用 Janus 来呼叫视频室。问题是远程视频成功显示,但只有发布者无法在 janus videoroom 中显示,检查日志后我看到:

RTCIceConnectionState didChange state 1

RTCIceConnectionState didChange state 4

阅读 admin api 后,我看到文档说我的错误:

In this example, ICE is “disconnected”, which means the ICE connectivity checks never started at all. As a result, the DTLS and data stats sections are obviously empty, as Janus never got to the point of involving them. What is the cause of the problem here? Looking at the data Janus provides, one thing immediately pops to the eye: there are just local candidates (the ones Janus gathered for itself), but no remote candidates at all: this means that the client failed to send them to Janus for some reason (e.g., your client is not sending trickle candidates) and so Janus can’t do anything to establish a media connection.

谁能解释一下这个问题,注意订阅者工作正常!,我的意思是我可以在手机上获取远程视频并显示,但我的手机可以将视频发布到 janus

打开 rtc 错误日志时,我看到太多关于: (stunport.cc:279): Jingle:Port[0x1248a2e00:audio:1:0:local:Net[en2:169.254.0.x/16:Wifi]]: UDP send of 100 bytes failed with error 65

RTC 日志更新如下 https://pastebin.com/EE7Jhz75

0 投票
0 回答
293 浏览

node.js - 在 NodejS 中使用 janus.js?

我已经构建了 Janus.js 的 commonjs 版本并将其导入到节点后端。但它会导致无穷无尽的错误。似乎它们是错误的,因为它只打算在浏览器中运行。我通过添加以下内容来解决其中的一些问题:

但更多的还在继续。这似乎是我不应该做的事情。但是我在 janus javascript 文档中找不到任何提到 nodejs 的内容。是否有一些构建标志或我缺少关于获取 janus.js commonjs 模块的东西,该模块将在节点中工作而无需编辑?

0 投票
0 回答
353 浏览

webrtc - WebRTC 媒体聊天中网络更改后的无效对等连接

我正在构建基于 Janus 媒体服务器的网络聊天。当我在移动浏览器中测试并更改网络(例如禁用/启用 Wi-Fi)时,会出现此问题。

在我这样做之后,有些东西阻止了建立有效的对等连接 - 将媒体流附加到视频组件时,没有视频并且比特率为 0。此外,如果我从该移动用户发布视频,另一端的订阅者可以订阅我的流,但也会获得空的视频/音频。

我已经尝试过触发 ICE 重新协商,但没有效果。

让我丧命的是,通常人们在没有页面刷新等的情况下努力“顺利”修复对等连接。在我的情况下,页面刷新、Janus 服务器重启和后端服务器重启都无济于事。这是我不责怪内部逻辑的主要原因之一。一段时间后问题得到解决(我通常在第二天测试)。

如果我切换回初始连接类型并重新订阅 - 视频流将恢复。

我不希望在这里获得完整的解决方案,而是希望就可能导致给定症状的原因获得建议。我已经花了几个星期来解决这个问题。

这是来自管理监视器的订户句柄信息:

}

0 投票
1 回答
239 浏览

android - 添加回溯在 WebRTC 上不起作用

我们使用 React Native WebRTC 和 Janus Gateway 创建一个应用程序。它按需要工作。我们的应用程序基于一键通。因此,当处于监听模式的用户需要为其他应用打破麦克风时。并在有人按下发言按钮时收回。

破坏麦克风:

找回轨道:

问题

问题:例如:当电话打来电话并接听时。即使重新启动应用程序,用户的声音也不再传递。

在 Janus Gateway 上,一切正常。我认为问题在于重新谈判。

  • 问题仅发生在 Android 手机上。并在强制停止应用程序后工作。

当我在房间里讲话时,Janus 网关日志:

0 投票
1 回答
849 浏览

javascript - 使用 Vue.js 在 Janus 上流式传输

我已经在服务器上运行了 Janus,它运行良好,但我很难找到一种在 Janus 服务器上进行流式传输的方法,我找不到任何片段代码,我正在使用 Vue.js 进行开发,有吗有任何库可以通过 Janus 流式传输吗?我只需要一个样本。

0 投票
0 回答
66 浏览

akka - janus-gateway: java.lang.IllegalStateException: 子流源不能多次实现

我正在使用 janus 网关,当我从浏览器点击时,它的路由工作正常

http://192.168.1.4:8088/janus/info

但代码抛出异常这是我的代码

这是我得到的例外

我已经在我的本地机器上部署了 janus,我是它的初学者,上面的异常似乎 janus 没有响应请求

0 投票
1 回答
5367 浏览

web - 在 Web 浏览器上使用带有 Janus 或 WebRTC 的 GStreamer 进行实时视频流

首先让我先说 -我是 Janus / GStreamer / WebRTC 的新手。

我必须使用 GStreamer 和 WebRTC 将连接在机器人硬件上的远程摄像机流式传输到浏览器上。

但作为概念证明,我首先想用 videotestsrc 实现同样的效果。所以,我一直在努力实现以下目标:

  1. 构建 GStreamer 管道
  2. 使用 UDPSink 将其发送给 Janus
  3. 运行 Janus 网关并在浏览器(Chrome 和 Firefox)上显示测试视频流。

这是我到目前为止所做的:

1. 创建以下 GST 管道:

2.我正在使用这个修改过的streamingtest.html代码: streamingtest2.jsstreamingtest2.html

3. 我使用以下方式启动 Janus 服务器:

我的 Janus 流配置文件(janus.plugin.streaming.jcfg)看起来像这样(这里的完整文件:PasteBin 上的 janus.plugin.streaming.jcfg

4、在8080端口启动一个本地http服务器,打开streamingtest2.html(我当前本地IP是192.168.1.6):

5.这将启动包含标签和开始按钮的测试页面。当我单击“开始”按钮时,它会连接到端口 8088 上的 Janus API 并等待视频流。 在此处输入图像描述

6.同时,如果我看到janus服务器终端窗口,它显示: 在此处输入图像描述

7. Gst Pipeline 终端显示: 在此处输入图像描述

8. 在浏览器上,视频标签被一个 5 秒的“黑色”流填充,然后停止。 在此处输入图像描述

请告知我做错了什么(很可能是它在管道中或 Janus 配置中的一些证书问题)。

或者请告知是否可以使用 GStreamer 的 WebRTCBin 以更简单的方式实现这一点?

当上述所有步骤发生时,请查看此 Pastebin https://pastebin.com/KeHAWjXx以获取我的 Google Chrome 控制台日志。请提供一些输入,以便我可以使用 GStreamer 和 Janus 流式传输视频。我也不知道 WebRTCBin 是如何在这一切中使用的。

0 投票
0 回答
25 浏览

javascript - 如何将 Janus API 限制为仅对特定域可访问

如何仅限制特定域的 API 访问。我的意思是当我在 example.com 上访问 API 时,只有它应该被允许发送或接收剩余的流,它不应该。

请帮助我,因为我是新来的。