FLocalVideoStats
The statistics of the local video stream.
USTRUCT(BlueprintType) struct FLocalVideoStats { GENERATED_BODY() public: UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int64 uid = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int sentBitrate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int sentFrameRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int captureFrameRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int captureFrameWidth = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int captureFrameHeight = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int regulatedCaptureFrameRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int regulatedCaptureFrameWidth = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int regulatedCaptureFrameHeight = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int encoderOutputFrameRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int encodedFrameWidth = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int encodedFrameHeight = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int rendererOutputFrameRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int targetBitrate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int targetFrameRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") EQUALITY_ADAPT_INDICATION qualityAdaptIndication = EQUALITY_ADAPT_INDICATION::ADAPT_NONE; int encodedBitrate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int encodedFrameCount = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") EVIDEO_CODEC_TYPE codecType = EVIDEO_CODEC_TYPE::VIDEO_CODEC_GENERIC_H264; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int txPacketLossRate = 0; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") FENUMWRAP_CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel = EENUMCUSTOM_CAPTURE_BRIGHTNESS_LEVEL_TYPE::CAPTURE_BRIGHTNESS_LEVEL_INVALID; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") bool dualStreamEnabled = false; UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int hwEncoderAccelerating = 0; FLocalVideoStats(){} FLocalVideoStats(const agora::rtc::LocalVideoStats & AgoraData){ uid = AgoraData.uid; sentBitrate = AgoraData.sentBitrate; sentFrameRate = AgoraData.sentFrameRate; captureFrameRate = AgoraData.captureFrameRate; captureFrameWidth = AgoraData.captureFrameWidth; captureFrameHeight = AgoraData.captureFrameHeight; regulatedCaptureFrameRate = AgoraData.regulatedCaptureFrameRate; regulatedCaptureFrameWidth = AgoraData.regulatedCaptureFrameWidth; regulatedCaptureFrameHeight = AgoraData.regulatedCaptureFrameHeight; encoderOutputFrameRate = AgoraData.encoderOutputFrameRate; encodedFrameWidth = AgoraData.encodedFrameWidth; encodedFrameHeight = AgoraData.encodedFrameHeight; rendererOutputFrameRate = AgoraData.rendererOutputFrameRate; targetBitrate = AgoraData.targetBitrate; targetFrameRate = AgoraData.targetFrameRate; qualityAdaptIndication = static_cast<EQUALITY_ADAPT_INDICATION>(AgoraData.qualityAdaptIndication); encodedBitrate = AgoraData.encodedBitrate; encodedFrameCount = AgoraData.encodedFrameCount; codecType = static_cast<EVIDEO_CODEC_TYPE>(AgoraData.codecType); txPacketLossRate = AgoraData.txPacketLossRate; captureBrightnessLevel = FENUMWRAP_CAPTURE_BRIGHTNESS_LEVEL_TYPE(AgoraData.captureBrightnessLevel); dualStreamEnabled = AgoraData.dualStreamEnabled; hwEncoderAccelerating = AgoraData.hwEncoderAccelerating; } agora::rtc::LocalVideoStats CreateAgoraData() const { agora::rtc::LocalVideoStats AgoraData; AgoraData.uid = uid; AgoraData.sentBitrate = sentBitrate; AgoraData.sentFrameRate = sentFrameRate; AgoraData.captureFrameRate = captureFrameRate; AgoraData.captureFrameWidth = captureFrameWidth; AgoraData.captureFrameHeight = captureFrameHeight; AgoraData.regulatedCaptureFrameRate = regulatedCaptureFrameRate; AgoraData.regulatedCaptureFrameWidth = regulatedCaptureFrameWidth; AgoraData.regulatedCaptureFrameHeight = regulatedCaptureFrameHeight; AgoraData.encoderOutputFrameRate = encoderOutputFrameRate; AgoraData.encodedFrameWidth = encodedFrameWidth; AgoraData.encodedFrameHeight = encodedFrameHeight; AgoraData.rendererOutputFrameRate = rendererOutputFrameRate; AgoraData.targetBitrate = targetBitrate; AgoraData.targetFrameRate = targetFrameRate; AgoraData.qualityAdaptIndication = static_cast<agora::rtc::QUALITY_ADAPT_INDICATION>(qualityAdaptIndication); AgoraData.encodedBitrate = encodedBitrate; AgoraData.encodedFrameCount = encodedFrameCount; AgoraData.codecType = static_cast<agora::rtc::VIDEO_CODEC_TYPE>(codecType); AgoraData.txPacketLossRate = txPacketLossRate; AgoraData.captureBrightnessLevel = captureBrightnessLevel.GetRawValue(); AgoraData.dualStreamEnabled = dualStreamEnabled; AgoraData.hwEncoderAccelerating = hwEncoderAccelerating; return AgoraData; } void FreeAgoraData(agora::rtc::LocalVideoStats & AgoraData) const { } };
Attributes
- uid
- The ID of the local user.
- sentBitrate
-
The actual bitrate (Kbps) while sending the local video stream.Attention: This value does not include the bitrate for resending the video after packet loss.
- sentFrameRate
- The actual frame rate (fps) while sending the local video stream.Attention: This value does not include the frame rate for resending the video after packet loss.
- captureFrameRate
- The frame rate (fps) for capturing the local video stream.
- captureFrameWidth
- The width (px) for capturing the local video stream.
- captureFrameHeight
- The height (px) for capturing the local video stream.
- regulatedCaptureFrameRate
- The frame rate (fps) adjusted by the built-in video capture adapter (regulator) of the SDK for capturing the local video stream. The regulator adjusts the frame rate of the video captured by the camera according to the video encoding configuration.
- regulatedCaptureFrameWidth
- The width (px) adjusted by the built-in video capture adapter (regulator) of the SDK for capturing the local video stream. The regulator adjusts the height and width of the video captured by the camera according to the video encoding configuration.
- regulatedCaptureFrameHeight
- The height (px) adjusted by the built-in video capture adapter (regulator) of the SDK for capturing the local video stream. The regulator adjusts the height and width of the video captured by the camera according to the video encoding configuration.
- encoderOutputFrameRate
- The output frame rate (fps) of the local video encoder.
- rendererOutputFrameRate
- The output frame rate (fps) of the local video renderer.
- targetBitrate
- The target bitrate (Kbps) of the current encoder. This is an estimate made by the SDK based on the current network conditions.
- targetFrameRate
- The target frame rate (fps) of the current encoder.
- qualityAdaptIndication
- The quality adaptation of the local video stream in the reported interval (based on the target frame rate and target bitrate). See EQUALITY_ADAPT_INDICATION.
- encodedBitrate
-
The bitrate (Kbps) while encoding the local video stream.Attention: This value does not include the bitrate for resending the video after packet loss.
- encodedFrameHeight
- The height of the encoded video (px).
- encodedFrameWidth
- The width of the encoded video (px).
- encodedFrameCount
- The number of the sent video frames, represented by an aggregate value.
- codecType
- The codec type of the local video. See EUABT_VIDEO_CODEC_TYPE.
- txPacketLossRate
- The video packet loss rate (%) from the local client to the Agora server before applying the anti-packet loss strategies.
- captureBrightnessLevel
- The brightness level of the video image captured by the local camera. See FENUMWRAP_CAPTURE_BRIGHTNESS_LEVEL_TYPE.
- hwEncoderAccelerating
- The local video encoding acceleration type.
- 0: Software encoding is applied without acceleration.
- 1: Hardware encoding is applied for acceleration.