跳到主要内容

直播数据统计

流状态数据上报

音视频库会每秒一次上报直播流的详细数据,上层依据此数据可进行提示,状态判断等处理。SDK 提供了 RCRTCStatusReportDelegate 代理可以取得直播流的详细数据 RCRTCStatusForm

- (void)didReportStatusForm:(RCRTCStatusForm*)form;

RCRTCStatisticalForm 说明

属性类型说明
cpuUsagefloatCPU使用率,取值: 0 ~ 100
cpuUsageOfOSfloat系统CPU使用率,取值: 0 ~ 100
totalRecvBitRatefloat接收的所有下行码率,单位: kbps
totalSendBitRatefloat发送的所有上行码率,单位: kbps
networkTypeNSString当前使用的网络类型
rttNSInteger往返时间,单位: 毫秒
ipAddressNSStringIP地址
availableReceiveBandwidthfloat可接收带宽
availableSendBandwidthfloat可发送带宽
sendStatsNSArray<RCRTCStreamStat * >发送轨道数据,见下方 RCRTCStreamStat 说明
recvStatsNSArray<RCRTCStreamStat * >接收轨道数据,见下方 RCRTCStreamStat 说明
  • RCRTCStreamStat 说明

    属性类型说明
    trackIdNSString音/视频流ID
    audioLevelNSInteger音频流中的音量,视频流中为0
    bitRatefloat码率,单位: kbps
    frameHeightNSInteger视频帧高度,音频流中为 -1
    frameWidthNSInteger视频帧宽度,音频流中为 -1
    mediaTypeNSString媒体类型,音频为: audio,视频为: video
    packetLossfloat发送丢包率,取值: 0 ~ 1
    rttNSInteger往返时间,单位: 毫秒
    frameRateNSInteger视频帧率,音频流中为 -1
    jitterReceivedNSInteger网络抖动,单位: 毫秒
    codecNameNSString音/视频编解码器
    stateNSInteger流是否可用状态,随麦克风开关变化,1 可用,2 不可用,-1 无法确定

直播合流音量上报

从 SDK 5.1.11 版本开始,SDK 支持在直播模式下实时上报音频合流的声音状态,您可单独获取每个主播的音量。

例如当前音频合流由 A B C 三个主播音频流产生,此时 A 在发声,SDK 会通过 didReportLiveAudioStatus: 回调 audioStatus 数组,里面包含 A 主播的 audioLevel

- (void)didReportLiveAudioStatus:(NSArray<RCRTCLiveAudioStatus *> *)audioStatus;
参数类型说明
audioStatusNSArray<RCRTCLiveAudioStatus *> *汇报音频合流数组,见下方 RCRTCLiveAduioStatus 说明

RCRTCLiveAduioStatus 说明

属性类型说明
userIdNSString用户Id
streamIdNSString流Id
audioLevelNSInteger音量大小,0 - 9表示音量高低