分辨率/码率/帧率设置
您可以通过 RCRTCCameraOutputStream 父类属性 videoConfig 设置视频参数。
提示
RCRTCCameraOutputStream 对象需要通过 [RCRTCEngine sharedInstance].defaultVideoStream 获取。
视频参数
RCRTCVideoStreamConfig 定义了视频流的分辨率、码率和帧率参数:
配置属性
Objective C
@property (nonatomic, strong) RCRTCVideoStreamConfig *videoConfig;
参数说明
| 参数 | 类型 | 默认值 | 说明 | 
|---|---|---|---|
| videoSizePreset | RCRTCVideoSizePreset | RCRTCVideoSizePreset640x480 | 摄像头输出的视频分辨率 | 
| videoFps | RCRTCVideoFPS | RCRTCVideoFPS15 | 视频发送帧率 | 
| maxBitrate | NSUInteger | 900 kbps | 最大码率(640 × 480 分辨率时) | 
| minBitrate | NSUInteger | 200 kbps | 最小码率(640 × 480 分辨率时) | 
提示
在通话过程中,实际视频码率在最小码率和最大码率之间根据网络情况浮动。
设置大流的视频参数
在发布本地摄像头视频资源之前,您可以通过 [RCRTCEngine sharedInstance].defaultVideoStream 对象设置发送大流的视频参数。
接口原型
Objective C
@property (nonatomic, strong) RCRTCVideoStreamConfig *videoConfig;
属性说明
| 属性 | 类型 | 说明 | 
|---|---|---|
| videoConfig | RCRTCVideoStreamConfig | 视频参数配置对象 | 
代码示例
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;
参数说明
| 参数 | 类型 | 是否必填 | 说明 | 
|---|---|---|---|
| config | RCRTCVideoStreamConfig | 是 | 小流视频参数配置 | 
返回值
设置成功返回 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) {
    // 设置成功
}