监测推拉流质量

下载pdf
更新时间:2019-08-21 11:01

1 功能简介

在推流/拉流成功后,SDK 默认每 3 秒触发一次推流/拉流的质量回调,以供用户监测此次通话/直播的音频质量。

2 推流质量统计

推流质量包含了采集、编码阶段音视频流的帧率、分辨率,传输(发送)的音视频流的帧率、码率、延时及丢包率。

返回推流质量的回调: ZegoAudioLivePublisherDelegate onPublishQualityUpdate:quality:,默认每 3 秒触发一次。

2.1 推流采集质量

推流采集质量贴近用户预览时的主观感受。

推流时 SDK 在采集阶段的音视频质量的相关参数如下:

  • acapFps:音频采集帧率(fps)

2.2 推流传输(发送)质量

推流发送质量是实际推流的质量,与实际的网络质量相关。

推流传输的音频质量的相关参数如下:

  • afps:实际的音频发送帧率(fps)
  • akbps:实际的音频发送码率(Kbps)
  • quality:当前的网络质量,0-优,1-良,2-中,3-差
  • rtt:设备到 ZEGO Server 的往返延时(ms)
  • pktLostRate:设备上行丢包数([0,255]),丢包率 = 丢包数 / 255

3 拉流质量统计

拉流质量包含了传输(接收)的音视频流的帧率、码率、延时和丢包率,解码阶段音视频流的帧率和分辨率,以及渲染阶段的帧率、分辨率、卡顿率、卡顿时长、音视频整体质量及首帧耗时。

返回拉流质量的回调: ZegoAudioLivePlayerDelegate onPlayQualityUpate:quality:,默认每 3 秒触发一次。

3.1 拉流传输(接收)质量

拉流接收质量是实际的拉流质量,与实际的推流质量和当前的网络质量相关。

拉流时接收的音视频质量的相关参数如下:

  • afps:实际接收的音频帧率(fps)
  • akbps:实际接收的音频码率(Kbps)
  • rtt:设备到 ZEGO Server 的往返延时(ms)
  • peerToPeerDelay:从推流端推出音频帧到拉流端拉取到此音频帧的时间(ms)
  • pktLostRate:设备下行丢包数([0,255]),丢包率 = 丢包数 / 255
  • peerToPeerPktLostRate:从推流端推出音频帧到拉流端拉取到此音频帧这段时间的丢包数([0,255]),丢包率 = 丢包数 / 255

3.2 拉流渲染质量

拉流渲染质量贴近用户观看音频的主观感受,该质量受解码器影响可能低于实际接收的拉流质量值。

拉流渲染阶段的音频质量的相关参数如下:

  • arndFps:实际的音频渲染帧率
  • quality:当前的网络质量,0-优,1-良,2-中,3-差
  • 音频卡顿时长:可使用 ZegoLiveEventDelegate zego_onLiveEvent:info: 直播事件回调中的音频卡顿开始 Audio_Play_Break 和音频卡顿结束事件 Audio_Play_BreakEnd 的差值获取。