-
Notifications
You must be signed in to change notification settings - Fork 271
customOutputSize
sunjian283019 edited this page Oct 20, 2016
·
41 revisions
预览分辨率和编码推流分辨率可以不一致,这时候,较高的预览分辨率可以让主播预览时画质更清晰。
设置较高的采集分辨率,该分辨率图像将用于预览。 kit类的capPreset属性可配置取值,请参考:Video Input Presets 一览表。
- API介绍
/**
@abstract 预览分辨率 (仅在开始采集前设置有效)
@discussion 内部始终将较大的值作为宽度 (若需要竖屏,请设置 videoOrientation)
@discussion 宽高都会向上取整为4的整数倍
@discussion 有效范围: 宽度[160, 1920] 高度[ 90, 1080], 超出范围会取边界有效值
@discussion 当预览分辨率与采集分辨率不一致时:
若宽高比不同, 先进行裁剪, 再进行缩放
若宽高比相同, 直接进行缩放
@discussion 默认值为(640, 360)
*/
@property (nonatomic, assign) CGSize previewDimension;
/**
@abstract 用户定义的视频 **推流** 分辨率
@discussion 有效范围: 宽度[160, 1280] 高度[ 90, 720], 超出范围会取边界有效值
@discussion 其他与previewDimension限定一致,
@discussion 当与previewDimension不一致时, 仅仅进行缩放
@discussion 默认值为(640, 360)
@see previewDimension
*/
@property (nonatomic, assign) CGSize streamDimension;
- 设置采集分辨率
设置预览分辨率
_kit.previewDimension = [self.presetCfgView capResolutionSize];
//采集分辨率
- (CGSize) capResolutionSize {
NSInteger idx = _resolutionUI.selectedSegmentIndex;//_resolutionUI指的是上图中的采集分辨率分段控制器
return [self dimensionToSize:idx];
}
//分辨率
- (CGSize) dimensionToSize:(NSInteger)idx {
switch (idx) {
case 0:
return CGSizeMake(640, 360);
case 1:
return CGSizeMake(960, 540);
case 2:
return CGSizeMake(1280, 720);
case 3:
return CGSizeMake(640, 480);
default:
return CGSizeMake(640, 360);
}
}
- 设置推流分辨率
//设置推流分辨率
_kit.streamDimension = [self.presetCfgView strResolutionSize];
//推流分辨率
- (CGSize) strResolutionSize {
NSInteger idx = _streamResoUI.selectedSegmentIndex;
return [self dimensionToSize:idx];
}
- (CGSize) dimensionToSize:(NSInteger)idx {
switch (idx) {
case 0:
return CGSizeMake(640, 360);
case 1:
return CGSizeMake(960, 540);
case 2:
return CGSizeMake(1280, 720);
case 3:
return CGSizeMake(640, 480);
default:
return CGSizeMake(640, 360);
}
}
#### 3. demo示例
preview的viewSize设置为(200*200)
推流分辨率:(200*200)
推流分辨率:(200*200)
_preview.frame = CGRectMake(0, 100, 200, 200);
_kit.previewDimension = CGSizeMake(200, 200);
_kit.streamDimension = CGSizeMake(200, 200);
推流端 | 播放端 |
---|---|