-
Notifications
You must be signed in to change notification settings - Fork 271
LevelParams
jiangdsuccess edited this page Mar 16, 2017
·
6 revisions
与预设等级相关的参数,需要在kit类中,通过setStreamerProfile来设置,该函数通过不同的等级来自动配置相关参数,目前提供了12种配置。
Profile | capPre | preDim | strDim | FPS | videoCodec | videoBitrate (kbps) | audioCodec | audiokBPS (kbps) | bwEstimateMode |
---|---|---|---|---|---|---|---|---|---|
360p_auto | AVCaptureSessionPreset640x480 | 640x360 | 640x360 | 15 | KSYVideoCodec_AUTO | 512 | KSYAudioCodec_AT_AAC | 48 | KSYBWEstMode_Default |
360p_1 | AVCaptureSessionPreset640x480 | 640x360 | 640x360 | 15 | KSYVideoCodec_AUTO | 512 | KSYAudioCodec_AT_AAC | 48 | KSYBWEstMode_Default |
360p_2 | AVCaptureSessionPresetiFrame960x540 | 960x540 | 640x360 | 15 | KSYVideoCodec_AUTO | 512 | KSYAudioCodec_AT_AAC | 48 | KSYBWEstMode_Default |
360p_3 | AVCaptureSessionPreset1280x720 | 1280x720 | 640x360 | 20 | KSYVideoCodec_AUTO | 768 | KSYAudioCodec_AT_AAC | 48 | KSYBWEstMode_Default |
540p_auto | AVCaptureSessionPresetiFrame960x540 | 960x540 | 960x540 | 15 | KSYVideoCodec_AUTO | 768 | KSYAudioCodec_AT_AAC | 64 | KSYBWEstMode_Default |
540p_1 | AVCaptureSessionPresetiFrame960x540 | 960x540 | 960x540 | 15 | KSYVideoCodec_AUTO | 768 | KSYAudioCodec_AT_AAC | 64 | KSYBWEstMode_Default |
540p_2 | AVCaptureSessionPreset1280x720 | 1280x720 | 960x540 | 15 | KSYVideoCodec_AUTO | 768 | KSYAudioCodec_AT_AAC | 64 | KSYBWEstMode_Default |
540p_3 | AVCaptureSessionPreset1280x720 | 1280x720 | 960x540 | 20 | KSYVideoCodec_AUTO | 1024 | KSYAudioCodec_AT_AAC | 64 | KSYBWEstMode_Default |
720p_auto | AVCaptureSessionPreset1280x720 | 1280x720 | 1280x720 | 15 | KSYVideoCodec_AUTO | 1024 | KSYAudioCodec_AT_AAC | 128 | KSYBWEstMode_Default |
720p_1 | AVCaptureSessionPreset1280x720 | 1280x720 | 1280x720 | 15 | KSYVideoCodec_AUTO | 1024 | KSYAudioCodec_AT_AAC | 128 | KSYBWEstMode_Default |
720p_2 | AVCaptureSessionPreset1280x720 | 1280x720 | 1280x720 | 20 | KSYVideoCodec_AUTO | 1280 | KSYAudioCodec_AT_AAC | 128 | KSYBWEstMode_Default |
720p_3 | AVCaptureSessionPreset1280x720 | 1280x720 | 1280x720 | 24 | KSYVideoCodec_AUTO | 1536 | KSYAudioCodec_AT_AAC | 128 | KSYBWEstMode_Default |
Profile(KSYStreamerProfile) 预设等级
- 一般分辨率越高,帧率越高,码率越高,质量越好,其中auto等级是预留配置,后期会修改。
capPre(capPreset) 采集分辨率
- 摄像头采集到的画面的分辨率, 作为数据的源头决定了, 后续画面质量的上限
preDim(previewDimension) 预览分辨率
- 将采集的画面渲染到主播预览视图的分辨率
strDim(streamDimension) 编码分辨率
- 送入到视频压缩并发送到服务器上去的视频的分辨率, 也就是其他观众能看到的画面的分辨率
FPS(videoFPS) 采集和编码帧率
- 采集帧率就是每秒采集和编码的视频帧数,建议软编时,设置为15fps左右,硬编码可以设置为24fps。设置过高容易导致设备发热严重。
videoCodec 视频编码器
- 视频编码器是用于选择实际编码的方案
videoBitrate(videoMaxBitrate) 视频编码最高码率
- 每秒编码输出的视频数据的bit数
- videoInitBitrate = videoMaxBitrate*6/10 视频编码初始码率
- videoMinBitrate = 0 视频编码最低码率
audioCodec 音频编码器
- 音频编码器是用于选择实际编码的方案
audiokBPS 音频编码码率
- 每秒编码输出的音频数据的bit数
bwEstimateMode 带宽估计模式
- 推流时网络的状况自动调整视频的码率
开放的接口是KSYStreamerProfile,只需要在kit类配置这个参数即可,默认值是KSYStreamerProfile_540p_3。
@property (nonatomic, assign) KSYStreamerProfile streamerProfile;
预设等级配置是12种默认配置,用户如有进一步需求,可切换到自定义配置进行更加精细配置。