分辨率/码率/帧率设置
您可以通过 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) {
// 设置成功
}