Skip to main content

Starting March 27, 2026, RC is rebranded as Nexconn. Existing RC SDK customers can continue using this documentation. New customers should refer to the Nexconn developer documentation.

Call Statistics

During RTC calls, the underlying RTC library reports detailed call metrics at intervals specified by RCRTCEngineSetup#statsReportInterval (default: 1 second). This data enables UI prompts and status monitoring.

Register listeners via the setStatsListener method in RCRTCEngine.

Detailed Specifications

  • Callback parameters:

    onNetworkStats description:

    ParameterTypeDescription
    statsRCRTCNetworkStatsNetwork status metrics

    onLocalAudioStats description:

    ParameterTypeDescription
    statsRCRTCLocalAudioStatsAudio transmission metrics

    onLocalVideoStats description:

    ParameterTypeDescription
    statsRCRTCLocalVideoStatsVideo transmission metrics

    onLocalCustomVideoStats description:

    ParameterTypeDescription
    tagStringCustom video resource TAG
    statsRCRTCLocalVideoStatsCustom video transmission metrics

    onRemoteAudioStats description:

    In live streaming scenarios, hosts can monitor speaking participants' volume levels. In conference mode, all participants receive speaking indicators.

    ParameterTypeDescription
    roomIdStringRoom ID
    userIdStringRemote user ID
    statsRCRTCRemoteAudioStatsAudio reception quality metrics

    onRemoteVideoStats description:

    ParameterTypeDescription
    userIdStringRemote user ID
    statsRCRTCRemoteVideoStatsVideo reception quality metrics

    onLiveMixAudioStats description:

    ParameterTypeDescription
    statsRCRTCRemoteAudioStatsMixed audio stream reception metrics

    onLiveMixMemberAudioStats description:

    Audience members can monitor hosts' volume levels during live streams.

    ParameterTypeDescription
    userIdStringRemote user ID
    volumeintVolume level

    onLiveMixVideoStats description:

    ParameterTypeDescription
    statsRCRTCRemoteVideoStatsMixed video stream reception metrics

    onRemoteCustomVideoStats description:

    ParameterTypeDescription
    userIdStringRemote user ID
    tagStringCustom video resource TAG
    statsRCRTCRemoteVideoStatsCustom video reception metrics
  • RCRTCNetworkStats

    PropertyTypeDescription
    typeRCRTCNetworkTypeNetwork type (Unknown/WiFi/Cellular)
    ipStringIP address
    sendBitrateintUpload bitrate (kbps)
    receiveBitrateintDownload bitrate (kbps)
    rttintRound-trip delay (ms)
  • RCRTCLocalAudioStats

    PropertyTypeDescription
    codecRCRTCAudioCodecTypeCodec type (PCMU/OPUS)
    bitrateintBitrate (kbps)
    volumeintVolume level
    packageLostRateintPacket loss rate (0-100)
    rttintRound-trip delay (ms)
  • RCRTCLocalVideoStats

    PropertyTypeDescription
    tinyboolStream type (true: thumbnail, false: HD)
    codecRCRTCVideoCodecTypeCodec type (H264)
    bitrateintBitrate (kbps)
    fpsintFrame rate
    widthintVideo width
    heightintVideo height
    packageLostRateintPacket loss rate (0-100)
    rttintRound-trip delay (ms)
  • RCRTCRemoteAudioStats

    PropertyTypeDescription
    codecRCRTCVideoCodecTypeCodec type (H264)
    bitrateintBitrate (kbps)
    volumeintVolume level
    packageLostRateintPacket loss rate (0-100)
    rttintRound-trip delay (ms)
  • RCRTCRemoteVideoStats

    PropertyTypeDescription
    codecRCRTCVideoCodecTypeCodec type (H264)
    bitrateintBitrate (kbps)
    fpsintFrame rate
    widthintVideo width
    heightintVideo height
    packageLostRateintPacket loss rate (0-100)
    rttintRound-trip delay (ms)

Sample Code

class StatsListenerImpl implements RCRTCStatsListener {


void onNetworkStats(RCRTCNetworkStats stats) {
// Network status metrics
}


void onLocalAudioStats(RCRTCLocalAudioStats stats) {
// Audio transmission metrics
}


void onLocalVideoStats(RCRTCLocalVideoStats stats) {
// Video transmission metrics
}


void onLocalCustomAudioStats(String tag, RCRTCLocalAudioStats stats) {
// Currently unused
}


void onLocalCustomVideoStats(String tag, RCRTCLocalVideoStats stats) {
// Custom video transmission metrics
}


void onRemoteAudioStats(String userId, RCRTCRemoteAudioStats stats) {
// Audio reception metrics
}


void onRemoteVideoStats(String userId, RCRTCRemoteVideoStats stats) {
// Video reception metrics
}


void onLiveMixAudioStats(RCRTCRemoteAudioStats stats) {
// Mixed audio stream metrics
}


void onLiveMixVideoStats(RCRTCRemoteVideoStats stats) {
// Mixed video stream metrics
}


void onRemoteCustomAudioStats(String userId, String tag, RCRTCRemoteAudioStats stats) {
// Currently unused
}


void onRemoteCustomVideoStats(String userId, String tag, RCRTCRemoteVideoStats stats) {
// Custom video reception metrics
}

}

/// Register stats listener
engine.setStatsListener(StatsListenerImpl());

/// Remove stats listener
engine.setStatsListener(null);