问题标签 [apprtcdemo]

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 回答
207 浏览

javascript - appRTC 默认参数在哪里指定?

WebRTC 演示应用 AppRTC 包含一长串参数。这些可以在 URL 中设置,如下所述: https ://apprtc.appspot.com/params.html

默认参数在哪里/如何在代码中以编程方式设置?

例如,如果我们要更改默认超时 (tt) 或默认发送比特率 (vrbr),那么在 appRTC 代码中的哪个位置完成?事实证明,在代码中查找参数的设置位置并不像听起来那么简单。似乎没有参数默认值的中心位置,即使通过一些代码分析,更改默认值的逻辑也不清楚。参数设置和重置多次,可以通过多种方式进行设置,它们通过多台机器上的不同代码库通过 HTTP 传递。

谢谢

0 投票
1 回答
4272 浏览

android - 如何在android中更改surfaceview的z-order运行时

最近我在android中学习了webrtc。

我想单击SurfaceView A 使其全屏,另一个SurfaceView B 变小,或者单击 B。但我发现在运行时很难更改两个不同表面视图的 z 顺序。

这是我的布局


PercentFrameLayout 是一个 ViewGroup 子类,用于测量屏幕的百分比。
我曾尝试在运行时使用 setZOrderMediaOverlay 但失败了。我发现 SDK 说

请注意,这必须在表面视图的包含窗口附加到窗口管理器之前设置。


那么这是否意味着我不能在运行时更改SurfaceView z-order?或者有什么办法破解它?

对不起,我的英语不好。



编辑 1 SurfaceViewRender
PercentFrameLayout来自库,SurfaceViewRenderSurfaceView的子类。

0 投票
2 回答
3054 浏览

webrtc - Web RTC 服务器仅在 localhost 中运行

我已经在我的 PC 中配置了 Web RTC 服务器。它正在与http://localhost:8080一起使用,但是此服务器未与另一台机器中的 IP 地址一起使用。

我已经用这个URL引用了 Web RTC Server 。

0 投票
1 回答
5894 浏览

webrtc - getUserMedia 错误:无法访问本地媒体 - WEBRTC

我已经在我的 PC 中配置了 App RTC 服务器。当我使用本地主机(localhost:3000)访问时。视频通话正在运行。但是当我使用 IP 地址时出现错误。( http://192.168.0.103:3000 )

无法访问本地媒体。错误名称是 PermissionDeniedError。继续而不发送流。

获取用户媒体时出错。只允许安全来源。
getUsermedia 错误:无法访问本地媒体。

0 投票
1 回答
1466 浏览

ios - 如何在 WebKit(WkWebview) 中为不支持的 webRTC JS API 提供本机支持

客观的:

为 WebKit 中不支持的 WebRTC JS API 提供原生支持,并通过 WkWebView 中加载的 webapp 进行 WebRTC 调用。

到目前为止我尝试过的:

截至目前,webkit 不支持 WebRTC W3C JavaScript API。

cordova提供了一个跨平台插件来支持 webRTC,但我不想采用跨平台方式。

有一个可用的 webRTC原生框架,但我不想完全采用原生方式。

到目前为止,我能够在 JavaScript中覆盖navigator.getUserMedia

并调用本机 AppRTC SDK API 从本机端发起调用,它可以工作。

这是完整的源代码

AppRTC 它有自己的本机视频视图,但我想在 webview 内的 HTML 元素中显示视频。

AppRTC 也不提供视频流......即使我可以从中获取流。如何将流提供给 wkwebview 是一个挑战,因为它的 RTC 仅评估 JavaScript 我认为它不可能。

所以我已经集成了 CocoaHTTPServer并且我正在考虑找到一种方法从这个流到 WkWebView。

非常感谢任何有助于实现我的目标的见解和建议!

0 投票
0 回答
256 浏览

ios - AppRTC 显示架构 x86_64 的重复符号

我有一个独特的问题。我通过在我的项目中包含 AppRTC。播客文件。它已成功安装,并且随之安装了 libjingle_peerconnection 和 SocketRocket 库。但是,当我构建我的项目时,它显示 libWebRTC.a 的重复符号错误并给出以下消息 -->

重复符号_RTCFileName在:(我的项目路径)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)(我的项目路径)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o)重复符号_RTCLogEx in:(我的项目路径)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)(我的项目路径)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o)重复符号_RTCSetMinDebugLogLevel in: (My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o) (My project path)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(rtc_base_objc.RTCLogging.o) 重复符号 __Z27RTCGetNativeLoggingSeverity18RTCLoggingSeverity 在:(我的项目路径)/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a(libjingle_peerconnection_objc.RTCLogging.o)(我的项目路径)/Pods/libjingle_peerconnection/libjingle_peerconnection./ (rtc_base_objc.RTCLogging.o) ld:架构 x86_64 clang 的 4 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)架构 x86_64 clang 的 4 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)架构 x86_64 clang 的 4 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我已经尝试了与此相关的一切,但没有成功。所以请帮我解决这个问题,或者至少告诉我为什么会这样。

0 投票
1 回答
1495 浏览

android - 2. 3 性能:准确的元数据

我不明白这个 itunesconnect 消息?

我使用这个库:

https://github.com/ISBX/apprtc-ios/issues

我们注意到您的应用或其元数据包含无关的第三方平台信息。具体来说,App Description 中提到了 Android。

除非有特定的交互功能,否则 App Store 不允许在您的应用或其元数据中引用第三方平台。

下一步

请从您的应用及其元数据中删除此信息的所有实例,包括应用说明、新增功能信息、预览和屏幕截图。

由于您的 iTunes Connect 应用程序状态被拒绝,因此需要一个新的二进制文件。在上传新的二进制文件时进行所需的元数据更改。

注意:请确保通过选择每个特定的本地化并进行适当的更改来对所有应用程序本地化进行任何元数据更改。

0 投票
1 回答
1762 浏览

swift - How to get frame data in AppRTC iOS app for video modifications?

I am currently trying to make some modifications to the incoming WebRTC video stream in the AppRTC app for iOS in Swift (which in turn is based on this Objective-C version). To do so, I need access to the data which is stored in the frame objects of class RTCI420Frame (which is a basic class for the Objective-C implementation of libWebRTC). In particular, I need an array of bytes: [UInt8] and Size of the frames. This data is to be used for further processing & addition of some filters.

The problem is, all the operations on RTCVideoTrack / RTCEAGLVideoView are done under the hood of pre-compiled libWebRTC.a, it is compiled from the official WebRTC repository linked above and it's fairly complicated to get a custom build of it, so I'd prefer to go with the build available in the example iOS project; in my understanding it's supposed to have all the available functionality in it.

I was looking into RTCVideoChatViewController class and in particular, remoteView / remoteVideoTrack, but had no success in accessing the frames themselves, spent a lot of time researching the libWebRTC sources in official repo but still can't wrap my head around the problem of accessing the frames data for own manipulations with it. Would be glad for any help!

0 投票
1 回答
404 浏览

webrtc - PubBub WebRTC Android Demo 没有从 Android 连接到 Android

当我尝试演示应用程序https://kevingleason.me/AndroidRTC/时,它按预期工作。

但是当我尝试使用两台安卓设备时,我可以拨打和接听电话,但它们没有连接。在这两种设备中,其自己的摄像头馈送都显示为文本“正在连接...”。我尝试了我的家庭 Wifi 和移动数据 3G。我在日志中找不到任何错误。

谁能帮我解决这个问题。我在这里想念什么?

我正在使用来自https://github.com/GleasonK/AndroidRTC的最新代码,它已经配置了 Xirsys ICE 服务器。但我注意到 Xirsys ICE 服务器没有添加到 VideoChatActivity.java 的下一行中,所以我也尝试将这些服务器添加到 PnSignalingParams 的构造函数中,但仍然只面对相同的连接消息。

0 投票
1 回答
2443 浏览

android - appr.tc 的原生安卓应用

几周以来,我一直在尝试使用 apprtc 在原生 android 应用程序 ( https://github.com/njovy/AppRTCDemo) 和浏览器之间建立网络会话。该应用程序在使用 appr.tc 作为房间服务器 url 时运行良好。我已经在 Ubuntu 上设置了 apprtc 项目,并且能够在 Ubuntu 机器上的浏览器和我的移动设备的浏览器之间创建一个会议。但是当我尝试在 ubuntu 上的浏览​​器和应用程序之间建立连接时,我总是收到以下错误:

错误截图

错误消息中提到的 URL 定义在 src/app_engine/constants.py ( https://github.com/webrtc/apprtc/blob/master/src/app_engine/constants.py) 中。但我不知道该怎么办

那么到目前为止我做了什么?(差不多就是 apprtc 的部署过程https://github.com/webrtc/apprtc#deployment

  1. 从 git 下载最新版本的 apprtc
  2. 安装了 npm、nodejs 和 grunt
  3. 使用 grunt build 构建源代码
  4. 下载、安装和配置碰撞器(碰撞器在 rtc:8089 上运行)
    • 4.1 我不得不将workspace/src/collidermain中的main.go
      从: var roomSrv = flag.String("room-server", "hxxps://appr.tc", "The origin of the room server")
      更改为: var roomSrv = flag.String("room-server", "hxxp://rtc", "房间服务器的来源")
    • 4.2 还将 src/app_engine/constants.py 中的 WS_INSTANCE_HOST_KEY 更改为对撞机地址 rtc:8089
  5. 我安装了 CoTurn 并添加了一个 turnserver.conf,看起来像 listener
    -port=3478 listener
    -ip=192.168.178.20
    user=rtc:webrtc
    cert=/home/rtc/work/src/collider/cert/cert.pem
    pkey=/主页/rtc/work/src/collider/cert/key.pem

Collider 运行在 192.168.178.20:8089(或 rtc:8089)上,turnserver 运行在 192.168.178.20:3478 上。turnserver.conf 中定义的凭据:用户名 = rtc,密码 = webrtc

设置后,我将 requestIceServers-Method 添加到 src/web_app/js/util.js ( https://github.com/webrtc/apprtc/blob/master/src/web_app/js/util.js)

并注释掉标准方法:

当我现在启动我的 GAE 时,我的转向服务器和对撞机

我能够在两个浏览器客户端之间建立连接(来自对撞机终端的日志)

当我现在尝试通过本机应用程序连接时,我总是收到上述错误。

经过调查,我在 git 上找到了以下链接,但对我没有太大帮助:https://github.com/webrtc/apprtc/issues/366

所以我决定使用 constants.py ( https://github.com/webrtc/apprtc/blob/master/src/app_engine/constants.py) 并找到一个可以覆盖 Turn/Stun 服务器的地方

所以我注释掉了 TURN_SERVER_OVERRIDE = []

GAE 认识到应用程序有一个新的请求。它记录

但仍然抛出同样的错误。

由于这也不起作用,我尝试将转服务器地址插入 ICE_SERVER_BASE_URL(仍在 constants.py 中)

变成

这将错误更改为:

错误截图 2

但现在我不再能够从浏览器打开主机。因此,我想这可能是完全错误的。

  • 您知道如何使用本机应用程序建立会议吗?
  • 如何绕过可能导致错误的 networktraversal.googleapis.com URL?
  • 我必须绕过它吗?

提前致谢!