实时音视频 SPARKRTC-本地流对象(LocalStream):setVideoProfile

时间:2024-03-25 20:33:11

setVideoProfile

setVideoProfile(profile: string|RTCVideoProfile,resolutionId?: string): void

功能说明

设置视频主流配置,如分辨率、帧率和码率等。如果未调用该接口设置,则SDK设置默认值为360p_2。如果该流已经发布,则该流会自动重新发布到远端。

请求参数

  • profile:必选,string类型或RTCVideoProfile类型。 若为string类型,则相关的分辨率、帧率和码率如表3。 若为RTCVideoProfile类型,则需要根据实际情况进行配置,推荐使用已定义的“profile”。输入不合法时,默认使用360p_2。
    表3 profile 对应的分辨率、帧率和码率

    profile

    分辨率

    帧率

    最小码率(kbps)

    最大码率(kbps)

    90p_1

    160 x 90

    15

    64

    110

    90p_2

    120 x 90

    15

    64

    110

    120p_1

    160 x 120

    15

    64

    120

    120p_2

    120 x 120

    15

    64

    110

    180p_1

    320 x 180

    15

    80

    320

    180p_2

    240 x 180

    15

    80

    170

    180p_3

    180 x 180

    15

    64

    130

    240p_1

    320 x 240

    15

    100

    400

    240p_2

    240 x 240

    15

    80

    320

    270p_1

    480 x 270

    15

    160

    600

    300p_1

    400 x 300

    15

    200

    500

    360p_1

    640 x 360

    15

    200

    800

    360p_2

    480 x 360

    15

    200

    700

    360p_3

    360 x 360

    15

    150

    600

    450p_1

    800 x 450

    15

    300

    950

    480p_1

    640 x 480

    15

    250

    900

    480p_2

    480 x 480

    15

    200

    800

    540p_1

    960 x 540

    15

    400

    1000

    630p_1

    1120 x 630

    15

    450

    1150

    720p_1

    1280 x 720

    15

    500

    1500

    720p_2

    960 x 720

    15

    450

    1100

    1080p_1

    1920 x 1080

    15

    600

    2000

    1080p_2

    1440 x 1080

    15

    550

    1700

  • resolutionId:可选,string类型。在双流场景下,指定要设置的分辨率Id的视频,如果不指定,默认选择最高的分辨率的视频。

RTCVideoProfile类型定义为:{

  • width:可选,number类型,分辨率的宽度,单位为像素。
  • height:可选,number类型,分辨率的高度,单位为像素。
  • frameRate:可选,number类型,视频帧率,单位为帧/秒。
  • minBitrate:可选,number类型,视频最小码率,单位为bps。
  • maxBitrate:可选,number类型,视频最大码率,单位为bps。

}

返回参数

  • 需注意码表中单位为kbps,接口传参的单位为bps,实际调用接口时需进行转换。
  • 自定义采集的流(使用videoSource创建的Stream)不支持动态调用此接口,仅支持摄像头采集的流调用。
  • 由于设备采集能力、系统性能以及浏览器的限制,视频分辨率,帧率,码率的实际值不一定能够完全匹配设定值,这种情况下浏览器会自动调整分辨率,尽可能匹配设定值,具体分辨率以实际采集到的分辨率为准。
  • 能否采集1080p及以上的分辨率取决于采集设备能力以及系统性能,iOS Safari不支持采集1080p。
  • 码表中的1080p分辨率为2.0.0版本新增,1.0版本如需采集1080P分辨率,请使用自定义参数的方式设置。
  • Firefox不支持自定义帧率(默认为30fps)。
  • 如果上表的Profile不符合您的要求,用户可以根据自身业务需求自定义Profile。
support.huaweicloud.com/csdk-rtc/rtc_05_0141.html