问题标签 [kurento]
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.
webrtc - 我使用的是哪个 ICE 候选人,为什么?
[下面粗体字的问题]
我在运行 OS Ubuntu 14.04 的防火墙后面的数据中心中设置了 Kurento Media Server 5.1.3。它有两个网卡:
- 222.222.222.222(eth0 - 私有 IP)
- 111.111.111.111(eth1 - 公共 IP)
下面附上我的浏览器连接到 Kurento Media Server 时的 SDP (setRemoteDescription)
我不确定,但似乎我正在使用以下候选人:
我对吗?
但鉴于 IP 222.222.222.222 是一个内部 IP,为什么它会作为 ICE 候选出现呢?
为什么不选择“a=candidate:1 1 UDP 2013266431 111.111.111.111 55239 typ host”?因为这个IP是公开的。
当使用“nload”之类的工具检查流量时,eth0 没有任何流量,并且可以注意到 eth1 有很多流量(视频和音频流)
这个“a=candidate:4 1 UDP 1677721855 111.111.111.111 59068 typ srflx raddr 222.222.222.222 rport 59068”是什么意思?
webrtc - kurento 中的音视频处理模块
Kurento有很多编写处理视频帧的 kms-filter 模块的示例,但没有一个显示如何处理音频+视频的示例。此外,kurento-module-scaffold.sh
似乎只生成接收 acv::Mat
或 a 的模块项目GstVideoFrame
。
Kurento自己说
作为差异化功能,Kurento Media Server 还提供高级媒体处理功能,包括计算机视觉、视频索引、增强现实和语音分析。
所以看起来应该是可能的,但我看不到任何方法可以在他们的 API 中获取音频。
所以我的问题是:这可以做到吗?如果是这样,怎么做?
node.js - Converting to synchronous-style a callback hell required by an API
I am trying to integrate kurento with Meteor. I am facing problems in converting the nested callbacks of Node.JS into proper Meteor server code.
Below is my code which I am trying to convert using Meteor.wrapAsync
:
I am trying to write it in meteor server using wrapAsync as below.
Whenever I am trying to do something like this, I am getting a function as output, not the object!. Below is the output of my last concole log statement to see sdpanswer.
Exception while invoking method 'onOffer' TypeError: Cannot call method 'apply' of undefined
I20150722-19:10:15.185(5.5)? at packages/meteor/helpers.js:118:1
I20150722-19:10:15.186(5.5)? at [object Object].Meteor.methods.onOffer (app/absimpl.js:90:31)
I20150722-19:10:15.186(5.5)? at maybeAuditArgumentChecks (packages/ddp/livedata_server.js:1617:1)
I20150722-19:10:15.186(5.5)? at packages/ddp/livedata_server.js:648:1
I20150722-19:10:15.186(5.5)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150722-19:10:15.186(5.5)? at packages/ddp/livedata_server.js:647:1
I20150722-19:10:15.186(5.5)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
I20150722-19:10:15.186(5.5)? at [object Object]._.extend.protocol_handlers.method (packages/ddp/livedata_server.js:646:1)
I20150722-19:10:15.186(5.5)? at packages/ddp/livedata_server.js:546:1
How can I properly convert a callback hell to a nice synchronous function using Meteor.wrapAsync
?
webrtc - WebRTC 到 Gstreamer 桥接器
我正在尝试将音频从浏览器流式传输到服务器上的 gstreamer 管道。
我目前正在使用 Kurento,并修改 Hello World 示例以尝试将 RTP 端点连接到管道——但遇到了麻烦。
我知道媒体正在到达那里,因为当我交换录制端点时,我得到了有效的录制。
Kurento 节点 JS 是:
我的 GStreamer 管道是:
返回
它不适用于 FFPMEG、VLC 等 - 结果类似于此处的“尝试 5.3”:https ://altanaitelecom.wordpress.com/2015/02/26/continue-streaming-broadcasting-live-video-call-to -non-webrtc-supported-browsers-and-media-players/
我不认为存在防火墙问题,因为管道和 kurento 实例位于同一虚拟机(没有防火墙)上——并且记录端点有效。是不是链接不好?有没有更简单的方法?
video-streaming - 如何在 KURENTO 通话中设置流比特率?
我正在研究 Kurento Media Server 6,现在正在玩教程。我注意到流的质量很差。我已切换到更高的分辨率,但问题仍然存在。我已连接到带宽为 100/100mbps 的网络中的服务器,并且流必须非常清晰。我认为 KMS 6 默认比特率设置中的某些设置已设置。我试图在文档和教程中找到某种设置方法比特率,但没有找到。我如何以及在哪里可以更改流的默认比特率(如果可能的话)?
正如下面建议的那样,我尝试在创建演示者时在 nodejs 一对多演示 server.js 中设置带宽:
质量仍然很差,没有任何变化(演示服务器重新启动以反映代码的变化)。我做对了吗?
webrtc - 我们如何知道 webRTC 何时已经完成了 ICE 候选人的收集
我正在使用Kurento Utils与 Kurento 媒体服务器(版本 5.x)进行 WebRTC 连接
在初始化期间的 kurento-utils-js 库中,简化代码如下所示:
我的问题是它似乎在等待onicecandidate
传递“null”值,这表示进程已经结束,因此能够继续创建 SDP 报价,但我在 WebRTC 规范中找不到这种行为?
我的下一个问题是,我们如何才能知道寻找候选冰的过程已经结束?
我办公室的一台 PC 无法访问代码console.log('ICE negotiation completed');
,因为未传递空值。
configuration - 通过公共 IP 配置我的 Kurento 媒体服务器
我尝试在我的 Ubuntu 14.04 64x 中设置 Kurento 媒体服务器,从这里使用 Turn 服务器配置我的系统,然后我从This doc安装我的 KMS当我尝试使用命令查找我的监听端口
时,sudo netstat -atnp | grep LISTEN
我发现以下但我是无法在上面找到我的公共 IP。请指导我如何为我的公共 IP 配置媒体服务器。我正在使用 Wifi 路由器进行互联网连接。tcp 0 0 127.0.0.1:5941 0.0.0.0:* LISTEN 1773/teamviewerd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1634/dnsmasq
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1297/dnsmasq
tcp 0 0 192.168.0.2:3478 0.0.0.0:* LISTEN 6140/turnserver
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1117/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5642/cupsd
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1256/postgres
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 791/smbd
tcp 0 0 127.0.0.1:5766 0.0.0.0:* LISTEN 6140/turnserver
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 791/smbd
tcp6 0 0 :::22 :::* LISTEN 1117/sshd
tcp6 0 0 ::1:631 :::* LISTEN 5642/cupsd
tcp6 0 0 :::8888 :::* LISTEN 1683/kurento-media-
tcp6 0 0 :::5432 :::* LISTEN 1256/postgres
tcp6 0 0 :::445 :::* LISTEN 791/smbd
tcp6 0 0 :::139 :::* LISTEN 791/smbd
webrtc - 客户端-服务器 WebRTC 应用程序是否需要 ICE?
我有一个 WebRTC MCU ( kurento ) 在公共 IP 地址上运行,为一些只发送或只接收音频的客户端提供服务所以每个客户端都直接与具有公共 IP 地址的 MCU(而不是彼此)连接。
Q1:是否还需要使用 STUN 和 TURN 进行 NAT 穿越??如果是这样为什么?
Q2:浏览器中的 WebRTC 是否有任何 hack 可以消除 STUN 和 TURN 的需要?
在我看来:大多数客户端-服务器架构对 NAT 后面的客户端没有任何困难。与 webrtc 有什么区别?
javascript - kurento 的远程流不工作
我安装了 kurento-media-server-6.0 并打开了 media-server 和 Hello World!(教程 1,版本 - node.js)。但是当我单击开始按钮时,远程流不起作用。
控制台 >>> 类型错误:videoStream.addEventListener 不是函数
请帮助我,谁知道为什么会发生这个错误。
javascript - Mozilla 未使用 kurento 媒体服务器触发 iceCandidate(一二多示例)
我正在尝试 Kurento 媒体服务器的一对多示例,它总是在 mozilla firefox 上返回 null 候选者,但同一段代码在 google chrome 上运行良好。
正如我已发出警报 onicecandidate 事件
它返回空候选人。我正在使用 Firefox 24。