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.