直播数据统计
在音视频直播过程中,RTCLib SDK 提供了实时的数据统计功能,帮助您监控音视频流的质量状态和性能指标。
本文介绍如何获取流状态数 据和直播合流音量数据。
流状态数据上报
RTCLib SDK 会每秒上报一次音视频流的详细数据,您可以根据这些数据进行质量提示、状态判断等处理。
通过实现 RCRTCStatusReportDelegate 代理的 didReportStatusForm: 方法,可以获取音视频流的详细统计数据。
接口原型
Objective C
- (void)didReportStatusForm:(RCRTCStatusForm *)form;
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
form | RCRTCStatusForm | 音视频流状态统计数据。 |
代码示例
Objective C
#import <RongRTCLib/RongRTCLib.h>
// 设置状态上报代理
[RCRTCEngine sharedInstance].statusReportDelegate = self;
#pragma mark - RCRTCStatusReportDelegate
- (void)didReportStatusForm:(RCRTCStatusForm *)form {
// 处理流状态数据
}
RCRTCStatusForm 属性说明
| 属性 | 类型 | 说明 |
|---|---|---|
cpuUsage | float | CPU 使用率,取值范围:0 ~ 100。 |
cpuUsageOfOS | float | 系统 CPU 使用率,取值范围:0 ~ 100。 |
totalRecvBitRate | float | 接收的所有下行码率,单位:kbps。 |
totalSendBitRate | float | 发送的所有上行码率,单位:kbps。 |
networkType | NSString * | 当前使用的网络类型。 |
rtt | NSInteger | 往返时间,单位:毫秒。 |
ipAddress | NSString * | IP 地址。 |
availableReceiveBandwidth | float | 可接收带宽,单位:kbps。 |
availableSendBandwidth | float | 可发送带宽,单位:kbps。 |
sendStats | NSArray<RCRTCStreamStat *> * | 发送轨道数据,详见 RCRTCStreamStat 属性说明。 |
recvStats | NSArray<RCRTCStreamStat *> * | 接收轨道数据,详见 RCRTCStreamStat 属性说明。 |
RCRTCStreamStat 属性说明
| 属性 | 类型 | 说明 |
|---|---|---|
trackId | NSString * | 音频/视频流 ID。 |
audioLevel | NSInteger |