问题标签 [apprtc]

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 投票
0 回答
334 浏览

webrtc - apprtc 和 webrtc 服务器不能远程访问?

我在设置 apprtc 服务器时遇到问题,因为我似乎无法远程访问它。这是我所做的以及目前正在发生的事情。

我 git 将此项目克隆到 ubuntu 16.06 服务器上。

https://github.com/webrtc/apprtc

我按照安装说明进行操作。

目前,当我在 Windows 机器上的浏览器中输入任何这些 url、http://192.168.0.110:8000http://192.168.0.110:8080http://localhost:8000http://localhost:8080 、 时 http://localhost:8089,我会收到类似或类似的错误This site can not be reached, connection refused

但是,如果我打开一个 SSH 终端并输入以下内容:

我得到一个index.html具有以下内容的

我究竟做错了什么?如何远程访问此 apprtc 服务器/项目?

0 投票
1 回答
3941 浏览

ios - 使用 WebRTC 通过 ReplayKit 发送 iOS 设备的屏幕截图

我们想使用 WebRTC 通过 ReplayKit 发送 iOS 设备的屏幕截图。ReplayKit 有一个 processSampleBuffer 回调,它提供 CMSampleBuffer。

但这是我们卡住的地方,我们似乎无法将 CMSampleBuffer 发送到连接的对等方。我们尝试从 sampleBuffer 创建 pixelBuffer,然后创建 RTCVideoFrame。

我们还从 RTCPeerConnectionFactory 中提取了 RTCVideoSource,然后使用 RTCVideoCapturer 并将其流式传输到 localVideoSource。

知道我们做错了什么吗?

0 投票
1 回答
201 浏览

cordova - 使用 InAppBrowser.open() 获取有关 apprtc 的“无法访问本地媒体”

我构建了一个科尔多瓦应用程序,并想在应用程序中使用 apprtc。

环境:

这是我的 AndroidManifest.xml:

我已授予摄像头权限,但当我尝试通过 进行视频聊天时InAppBrowser.open("https://appr.tc/r/123", "_blank", "location=no"),出现无法访问本地媒体的错误。

0 投票
1 回答
447 浏览

ios - Apprtc在公网iOS中不起作用

我正在使用 Apprtc库进行实时连接。这是我的服务器主机 URL @“ https://appr.tc ”。成功建立到任何网络的连接,但在音频/视频意义上

  • 音频/视频仅适用于相同/专用网络 iOS 到 iOS 或 iOS 到 Android

    在公共网络音频/视频仅适用于 iOS 到 Android,不适用于 iOS 设备到 iOS 设备。

你有什么主意吗 ?

0 投票
0 回答
144 浏览

python - 如何在 AppRTC 中启用 CORS?

我已经部署了我自己的 apprtc 服务器,并在本地使用 virtualbox 在 Google App 引擎中配置了碰撞器和转向服务器。一切正常,但我想在另一个 IP 中的另一个项目中使用这个 apprtc 服务器。所以,Apprtc IP和我的项目IP是不同的。现在,当我在项目中包含apprtc.debug.js&appwindow.js文件时,它无法初始化 loadingParams 并显示此错误消息“Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://<IP OF APPRTC>:8080/params. (Reason: CORS header 'Access-Control-Allow-Origin ' 失踪)”。

但是,http://<IP OF APPRTC>:8080/params在浏览器中输入给了我正确的响应,但在 appwindow.js 中调用的项目中却没有。经过一番谷歌搜索后,我在 sendUrlRequest 函数中添加了以下几行:

现在它说“CORS 请求没有成功”。我怎样才能让它工作?我是否还必须在服务器端启用 cors,如果是这样,在哪里以及如何做到这一点?请帮助我,我完全迷失在这里......

0 投票
1 回答
1717 浏览

javascript - Webrtc 被防火墙阻止 (iceConnection:Failed)

我有简单的网络应用程序,

  1. Client1 登录并与 signal.php 建立套接字连接
  2. Client2 登录并再次与 signal.php 建立套接字连接
  3. Client2 通过 signal.php 向 client1 发送报价
  4. 客户端 1 向客户端 2 发送答案
  5. 冰候选人交换

因此,当远程系统的 Windows 防火墙关闭但防火墙打开时,这可以正常工作,在收集到 ice 候选者后,ice 连接失败。

我正在使用 xirsys Turn/Stun 服务器。我试图找到一种方法来确保我的应用程序即使在防火墙打开的情况下也能运行。我看过其他没有被防火墙阻止的 webrtc 示例。我在这里想念什么??????

更新

做了一些更多的测试,结果如下

建立连接的客户端上的防火墙是打开还是关闭都没有关系。如果 Firwall 处于打开状态,谁正在获得报价,则连接失败

示例:假设客户 1 正在提出要约,而客户 2 正在接受要约。如果客户端 2 的防火墙打开,则连接失败。如果防火墙关闭,则连接已建立。客户端 1 的防火墙打开或关闭都没有关系。如果客户端 1 和 2 或在同一台计算机上,连接总是成功的。

0 投票
1 回答
3660 浏览

node.js - 创建 PeerConnection 异常:无法构造“RTCPeerConnection”:格式错误的 RTCIceServer

我正在使用appRTC 制作演示应用程序。我已经成功设置了以下内容,但是得到了 JSON 格式的堆栈,该堆栈响应 Turn-server API 返回。

  • 使用 SSL 进行安全连接以使其在 Google Chrome 上运行(完成)
  • 实现自定义 WebSocket(完成)
  • 为 TurnServer 开发自定义 API(完成)

我在控制台日志中收到以下错误。

创建 PeerConnection 异常:无法构造“RTCPeerConnection”:格式错误的 RTCIceServer

无法启动信号:无法读取 null 的属性“addStream”

我尝试将响应作为冰服务器对象

当前对象:

也试过:

并且还尝试了这个:

0 投票
1 回答
1026 浏览

javascript - 当浏览器失去互联网连接时,Websocket 连接关闭

我正在尝试在我的项目中实现 webrtc 通信。我使用 appr.tc 代码库进行开发。代码库包含两个独立的 chrome&firefox 浏览器的 websocket 实现。

远程WebSocket

我不想关闭 WebSocket 连接在互联网连接中断期间(3 分钟内),RemoteWebSocket 与 chrome 浏览器一起工作正常。在 3 分钟内失去连接时没有发生关闭事件。但是在 Firefox 中,WebSocket 连接会立即关闭。

有没有办法延迟javascript websocket libray中的关闭事件?

0 投票
1 回答
657 浏览

android - WebSocket - 状态码 403 和状态消息 - 禁止

我正在使用 Apprtc.Follow 下面提到的库开发视频通话应用程序。

  1. https://github.com/njovy/AppRTCDemo
  2. https://github.com/Piasy/AppRTC-Android

当我将 url 更改为我的自定义服务器而不是 apprtc 服务器时,视频通话会在 1 分钟后断开连接。我失去了与服务器的连接。

为了避免与服务器的连接丢失,我们需要每隔大约 30 秒定期 ping 服务器。

但上面提到的 AppRTC 项目正在使用 jar 文件(autobanh.jar)来连接 websocket,但在库中 sendPing mentod 是私有的,因此无法访问。

问题 1 -没有办法 ping websocket 服务器。

尝试替换 websocet 库后, 我用下面提到的库更改了 websocket 库

  1. https://github.com/Koredotcom/android-kore-sdk/tree/master/BotsSDK/korebotsdklib/src/main/java/kore/botssdk/autobahn
  2. https://github.com/martindale/soundtrack.io-android/tree/master/src/de/tavendo/autobahn

更换 websocket 库后,现在我可以访问 sendPing 方法了。但是在视频通话期间,我仍然在 60 秒后失去了连接。

Ping方法-

在取消注释 ping.mPayload 行时,我得到 BufferOverflowException。

30秒定时器

请建议如何避免 60 秒后通话断开。

0 投票
1 回答
192 浏览

android - 重新创建活动后无法重用 PeerConnectionClient

我正在尝试在 Android 上的 WebRTC 调用期间正确处理屏幕旋转。但在第一次旋转后,本地视频翻译停止。创建(或重新创建)活动后,我正在为本地和远程视图创建 SurfaceViewRenderers:

之后,如果这是第一次必须创建连接,我将初始化对等连接:

如果重新创建活动,PeerConnectionClient 不再可以将视频发送到远程目标。我试图重新分配 localRender & videoCapturer,但这没有效果。重新创建活动后是否可以重用现有连接?