【问题标题】:How to add video call to nativescript app如何将视频通话添加到 nativescript 应用程序
【发布时间】:2020-12-15 15:40:38
【问题描述】:

希望这能满足你

我正在做一个 nativescript 项目,我想在应用程序中添加视频通话功能,我在网上搜索过,我找到了https://market.nativescript.org/plugins/nativescript-webrtc-plugin,但我真的不明白那里的例子。

文档中有一部分

iceServers: [
    // Optional defaults to google stun servers
    {
      url: 'stun:stun.l.google.com:19302'
    },
    {
      url: 'serverRequiresAuth',
      username: 'username',
      password: 'password'
    }
  ]

问题 1:我从哪里获得用户名/密码或者是“用户名”和“密码”

问题 2:如何将通话从一台设备连接到另一台设备

如果你以前使用过这个插件或者你知道另一种选择,我将非常感激和解释

【问题讨论】:

    标签: javascript webrtc nativescript


    【解决方案1】:

    我没有研究这个特定的插件,但是,我认为您可能有兴趣研究 WebRTC 以了解其行为。

    [Q2] 在 WebRTC 中,为了在您的客户之间建立呼叫,他们必须交换特定信息(视频和音频编解码器、ICE 候选、媒体类型等......) ,这称为 SDP(会话描述协议)。呼叫者将发送一个 SDP 提议,而被呼叫者将收到它并通过 SDP 应答进行响应。通常,这些交换需要特定的信令服务器。

    出于联网目的,ICEServer 需要确保您的客户能够相互联系(通过他们的 ICECandidates)。一旦*调用者收集了它的所有 ICECandidates(IP 地址、端口等),它将尝试通过信令回调检索到的被调用者的 ICE 候选者到达被调用者(反之亦然)。这就是 ICE 协议的目的。

    存在两种类型的 ICEserver:

    • STUN 服务器允许客户端检索其“公共”IP(在 NAT 之后 示例)
    • [Q1] TURN 服务器(需要身份验证阶段、用户名/凭据)允许客户端中继其媒体流,即使它位于限制防火墙或特定 NAT 之后。您可以部署自己的 TURN 服务器(coturn、rfc5766-turn-server 等),也可以依赖公司(Xirsys、Twilio 等)。更多信息:https://webrtc.org/getting-started/turn-server

    * 实际上这是异步完成的,它可以“几乎”在通话之前和通话期间的任何时间发生

    【讨论】:

    • 感谢您的解释,非常感谢!
    【解决方案2】:

    我在 NativeScript Marketplace 中找到了一个插件。

    这个我没用过。

    在 connectycube 网站上,它说他们有一个带上限的免费套餐。

    https://market.nativescript.org/plugins/connectycube/

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2011-06-30
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多