跳到主要内容

分辨率/码率/帧率设置

您可以通过 RCRTCCameraOutputStream 父类属性 videoConfig 设置视频参数。

提示

RCRTCCameraOutputStream 对象需要通过 [RCRTCEngine sharedInstance].defaultVideoStream 获取。

视频参数

RCRTCVideoStreamConfig 定义了视频流的分辨率、码率和帧率参数:

配置属性

Objective C
@property (nonatomic, strong) RCRTCVideoStreamConfig *videoConfig;

参数说明

参数类型默认值说明
videoSizePresetRCRTCVideoSizePresetRCRTCVideoSizePreset640x480摄像头输出的视频分辨率
videoFpsRCRTCVideoFPSRCRTCVideoFPS15视频发送帧率
maxBitrateNSUInteger900 kbps最大码率(640 × 480 分辨率时)
minBitrateNSUInteger200 kbps最小码率(640 × 480 分辨率时)
提示

在通话过程中,实际视频码率在最小码率和最大码率之间根据网络情况浮动。

设置大流的视频参数

在发布本地摄像头视频资源之前,您可以通过 [RCRTCEngine sharedInstance].defaultVideoStream 对象设置发送大流的视频参数。

接口原型

Objective C
@property (nonatomic, strong) RCRTCVideoStreamConfig *videoConfig;

属性说明

属性类型说明
videoConfigRCRTCVideoStreamConfig视频参数配置对象

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 创建视频配置对象
RCRTCVideoStreamConfig *videoConfig = [[RCRTCVideoStreamConfig alloc] init];
videoConfig.videoSizePreset = RCRTCVideoSizePreset720x480;
videoConfig.videoFps = RCRTCVideoFPS30;
videoConfig.maxBitrate = 1200; // 设置最大码率 1200 kbps
videoConfig.minBitrate = 300; // 设置最小码率 300 kbps

// 应用配置
[[RCRTCEngine sharedInstance].defaultVideoStream setVideoConfig:videoConfig];

设置小流的视频参数

如果开启了本地摄像头视频小流,您可以在发布本地摄像头视频资源之前,通过 [RCRTCEngine sharedInstance].defaultVideoStream 对象设置发送的摄像头小流视频参数。

设置小流配置

接口原型

Objective C
- (BOOL)setTinyVideoConfig:(RCRTCVideoStreamConfig *)config;

参数说明

参数类型是否必填说明
configRCRTCVideoStreamConfig小流视频参数配置

返回值

设置成功返回 YES,失败返回 NO

获取小流配置

接口原型

Objective C
- (RCRTCVideoStreamConfig *)getTinyVideoConfig;

返回值

返回当前小流的视频配置对象。

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 获取当前小流配置
RCRTCVideoStreamConfig *tinyConfig = [[RCRTCEngine sharedInstance].defaultVideoStream getTinyVideoConfig];

// 修改小流参数
tinyConfig.videoSizePreset = RCRTCVideoSizePreset180x180;
tinyConfig.videoFps = RCRTCVideoFPS15;
tinyConfig.maxBitrate = 300; // 设置小流最大码率 300 kbps
tinyConfig.minBitrate = 100; // 设置小流最小码率 100 kbps

// 应用小流配置
BOOL success = [[RCRTCEngine sharedInstance].defaultVideoStream setTinyVideoConfig:tinyConfig];
if (success) {
// 设置成功
}