【问题标题】:Can I use TokBox OTSubscriberKitNetworkStatsDelegate to calculate bandwidth我可以使用 TokBox OTSubscriberKitNetworkStatsDelegate 来计算带宽吗
【发布时间】:2016-03-06 00:53:47
【问题描述】:

我正在使用 TokBox 构建视频会议应用程序。我想向用户说明流的表现如何。我注意到OTSubscriberKitNetworkStatsDelegate 可以让您查看订阅者丢失了多少音频和视频数据包。尚不清楚这是否表明您的连接或他们的连接的健康状况。我假设我可以使用这个委托来查看我自己丢弃的数据包(作为发布者和订阅者)。这是为 TokBox 计算某种带宽指标的方法吗?

更新: 很好的答案,也很快!令人印象深刻的 OpenTok 社区。在这里结束,OTNetworkTest 很棒,实际上使用OTSubscriberKitNetworkStatsDelegate 来计算流的质量,正如我所怀疑的那样。它的唯一问题是它被设计为在您开始会话之前运行。我需要一个可以作为现有会话的一部分运行的测试;因此,我将去掉计算部分并创建一个使用您自己的订阅者数据的此类版本。感谢所有帮助的人。

【问题讨论】:

    标签: ios objective-c webrtc opentok tokbox


    【解决方案1】:

    其实有几种方法。

    天真的灵魂

    粗略但简单地计算帧的大小并将其乘以帧速率(真实的,未指定),然后加上声音的 kbps。您应该对实际带宽有相当准确的了解。 对于帧速率计算,请阅读 Dynamic frame rate controls

    OpenTok 方法(合法的方法)

    我敢打赌,一个好的用户体验解决方案不是显示一切都很糟糕,而是调整流质量,仅在完全失败的情况下指示错误(就像 Skype 一样)。看看这个:

    从我们的 2.7.0 移动 SDK 版本开始,您可以创建发布者 具有每个确定的视频分辨率和每秒帧数 (fps)。 在使用 API 之前,您应该了解以下几点:

    1. 虽然高清视频一开始听起来是个好主意,但从实际 观点你可能会遇到设备 CPU 负载低到 中档设备。您可能还受到用户的限制 可用带宽。最后,您的用户可能会收取数据费用 高。
    2. 在设备上可用。这些参数的实际经验值将根据具体设备而有所不同。您的选择 可以看作是分辨率和帧速率的最大值 愿意发表。
    3. 根据用户的丢包率、CPU 利用率和网络带宽/比特率等各种参数自动调整。相当 我们建议您尝试自己动态执行此操作 选择有意义的值并允许 OpenTok 处理罚款 调音。

    4. 带宽,将您的发布商视频类型属性设置为“屏幕”而不是默认的“相机”值。

    取自here

    所以,您应该这样做: 先实现<OTSubscriberKitNetworkStatsDelegate>协议。它有一个方法叫做 - (void)subscriber:(OTSubscriberKit *)subscriber videoNetworkStatsUpdated:(OTSubscriberKitVideoNetworkStats *)stats 如您所见,它传递了一个 OTSubscriberKitVideoNetworkStats 对象。 接下来,您可以从该对象中提取三个属性:

    1. @property (readonly) uint64_t videoPacketsLost - 估计此订阅者丢失的视频数据包数。
    2. @property (readonly) uint64_t videoPacketsReceived - 此订阅者收到的视频数据包数。
    3. @property (readonly) uint64_t videoBytesReceived – 此订阅者收到的视频字节数。
    4. @property (readonly) double timestamp – 自 Unix 纪元以来的时间戳,以毫秒为单位,用于收集这些统计信息的时间。

    因此,请随意使用这些值并为您的应用实施最佳解决方案。

    此外,他们还发表了一篇专门针对在电话会议中管理不同带宽的文章。 Check it out.

    更新:

    在我写答案时,@JaideepShah 提到了一个惊人的例子。通读this example 的解释。有一个表格表明我上面提到的正确值的正确分辨率。

    【讨论】:

      【解决方案2】:

      这将是您与 TokBox 平台/云的网络连接的健康状况。

      https://github.com/opentok/opentok-network-test 的代码向您展示了如何计算音频和视频的比特率,这可以作为一个指标。

      您正在计算订阅者统计信息,而不是发布者统计信息。

      【讨论】:

        猜你喜欢
        • 2011-04-04
        • 2019-08-06
        • 1970-01-01
        • 1970-01-01
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 2020-05-06
        • 1970-01-01
        相关资源
        最近更新 更多