跳到主要内容

分辨率/码率/帧率设置

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

提示

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

视频参数

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

@property (nonatomic, strong) RCRTCVideoStreamConfig *videoConfig;
参数类型说明默认值
videoSizePresetRCRTCVideoSizePreset摄像头输出的视频分辨率RCRTCVideoSizePreset640x480
videoFpsRCRTCVideoFPS视频发送帧率RCRTCVideoFPS15
maxBitrateNSUInteger最大码率,默认 640x480 分辨率时900 kbps
minBitrateNSUInteger最小码率,默认 640x480 分辨率时200 kbps

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

设置大流的视频参数

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

  • 参数说明:

    参数类型说明
    videoConfigRCRTCVideoStreamConfig视频参数采集参数
  • 示例代码:

    RCRTCVideoStreamConfig *videoConfig = [[RCRTCVideoStreamConfig alloc] init];
    videoConfig.videoSizePreset = RCRTCVideoSizePreset720x480;
    videoConfig.videoFps = RCRTCVideoFPS30;
    [[RCRTCEngine sharedInstance].defaultVideoStream setVideoConfig:videoConfig];

设置小流的视频参数

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

- (BOOL)setTinyVideoConfig:(RCRTCVideoStreamConfig *)config;
  • 参数说明:

    参数类型说明
    videoConfigRCRTCVideoStreamConfig视频参数采集参数
  • 示例代码:

    RCRTCVideoStreamConfig* tinyConfig = [[RCRTCEngine sharedInstance].defaultVideoStream getTinyVideoConfig];
    tinyConfig.videoSizePreset = RCRTCVideoSizePreset180x180;
    [[RCRTCEngine sharedInstance].defaultVideoStream setTinyVideoConfig:tinyConfig];