Skip to content

customOutputSize

Franken Zeng edited this page Oct 20, 2016 · 41 revisions

分辨率进阶设定

1. 目的

预览分辨率和编码推流分辨率可以不一致,这时候,较高的预览分辨率可以让主播预览时画质更清晰。

2. 使用说明

设置较高的采集分辨率,该分辨率图像将用于预览。 kit类的capPreset属性可配置取值,请参考:Video Input Presets 一览表

  • 设置采集分辨率
设置采集分辨率
_kit.videoDimension = [self.presetCfgView capResolution];
//采集分辨率
- (KSYVideoDimension) capResolution {
    return [self resolution: _resolutionUI.selectedSegmentIndex];//_resolutionUI指的是上图中的采集分辨率分段控制器
}
//分辨率
- (KSYVideoDimension) resolution: (NSInteger)idx {
    //@"360p",@"540p",@"720p"
    switch ( idx) {
        case 0:
            return  KSYVideoDimension_16_9__640x360;
        case 1:
            return  KSYVideoDimension_16_9__960x540;
        case 2:
            return  KSYVideoDimension_16_9__1280x720;
        case 3:
            return  KSYVideoDimension_4_3__640x480;
        default:
            return  KSYVideoDimension_16_9__640x360;
    }
}
  • 设置推流分辨率
//设置推流分辨率
KSYVideoDimension strDim = [self.presetCfgView strResolution];
//推流分辨率
- (KSYVideoDimension) strResolution {
    return [self resolution: _streamResoUI.selectedSegmentIndex];//_streamResoUI视图中的推流分辨率分段控制器
}
//分辨率
- (KSYVideoDimension) resolution: (NSInteger)idx {
    //@"360p",@"540p",@"720p"
    switch ( idx) {
        case 0:
            return  KSYVideoDimension_16_9__640x360;
        case 1:
            return  KSYVideoDimension_16_9__960x540;
        case 2:
            return  KSYVideoDimension_16_9__1280x720;
        case 3:
            return  KSYVideoDimension_4_3__640x480;
        default:
            return  KSYVideoDimension_16_9__640x360;
    }
}
//如果采集分辨率 不等于 推流分辨率 
if(_kit.videoDimension != strDim){
    //开启分辨率自定义开关
    _kit.bCustomStreamDimension = YES;
    //根据分辨率类型获得实际的宽度和高度
    _kit.streamDimension = [self.presetCfgView strResolutionSize ];
}
- (CGSize) strResolutionSize {
    NSInteger idx = _streamResoUI.selectedSegmentIndex;
    return [self dimensionToSize:[self resolution:idx ]];
}
- (CGSize) dimensionToSize:(KSYVideoDimension) dim {
    switch ( dim) {
        case KSYVideoDimension_16_9__640x360:
            return  CGSizeMake(640, 360);
        case KSYVideoDimension_16_9__960x540:
            return  CGSizeMake(960, 540);
        case KSYVideoDimension_16_9__1280x720:
            return  CGSizeMake(1280, 720);
        case KSYVideoDimension_4_3__640x480:
            return  CGSizeMake(640, 480);
        default:
            return  CGSizeMake(640, 360);
    }
}

1. 推流环节说明

2. 特色功能说明

2.1 采集

2.2 音频处理

2.3 视频处理

2.4 编码

2.5 推流

2.6 输入多样化

2.7 集成

3. 第三方功能

4. 技术专栏

5. 已知问题

8. FAQ

金山云计算

Clone this wiki locally