FScreenVideoParameters

  • Unreal Blueprint

更新时间不可用

共享屏幕流的视频编码配置。

C++
USTRUCT(BlueprintType)
struct FScreenVideoParameters {
	GENERATED_BODY()
public:
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters")
	FVideoDimensions dimensions = FVideoDimensions();
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters")
	int frameRate = 15;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters")
	int bitrate = 0;
	UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenVideoParameters")
	EVIDEO_CONTENT_HINT contentHint = EVIDEO_CONTENT_HINT::CONTENT_HINT_MOTION;
#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS)
	FScreenVideoParameters(){}
	FScreenVideoParameters(const agora::rtc::ScreenVideoParameters & AgoraData){
		dimensions = FVideoDimensions(AgoraData.dimensions);
		frameRate = AgoraData.frameRate;
		bitrate = AgoraData.bitrate;
		contentHint = static_cast<EVIDEO_CONTENT_HINT>(AgoraData.contentHint);
	}
	agora::rtc::ScreenVideoParameters CreateAgoraData() const {
		agora::rtc::ScreenVideoParameters AgoraData;
		AgoraData.dimensions = dimensions.CreateAgoraData();
		AgoraData.frameRate = frameRate;
		AgoraData.bitrate = bitrate;
		AgoraData.contentHint = static_cast<agora::rtc::VIDEO_CONTENT_HINT>(contentHint);
		return AgoraData;
	}
	void FreeAgoraData(agora::rtc::ScreenVideoParameters& AgoraData) const {
		dimensions.FreeAgoraData(AgoraData.dimensions);
	}
#endif
};

属性

参数名描述
dimensions

视频编码的分辨率。默认值为 1280 × 720。

如果 dimensions 宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 dimensions 是 1280 × 720 为例:

  • 当屏幕宽和高的像素值均小于 dimensions 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
  • 当屏幕宽或高的像素值大于 dimensions 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 4:3,取 dimensions 内最大分辨率进行编码,即 960 × 720。

注:

  • 屏幕共享流的计费以 dimensions 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。
  • 该值不代表最终视频输出的方向。详见 EUABT_ORIENTATION_MODE 了解设置视频方向。
  • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。

注: 在共享文档的场景(SCREEN_SCENARIO_DOCUMENT)下设置编码分辨率时,选择以下两种方式其中之一。

  • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。

  • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则:

    • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
    • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
frameRate

视频编码帧率 (fps)。默认值为 15。

bitrate

视频编码码率 (Kbps)。

contentHint

屏幕共享视频的内容类型。详见 EVIDEO_CONTENT_HINT。

表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?