TRTCVideoEncParam

TRTCVideoEncParam

5.2 视频编码参数

该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)。

Constructor

new TRTCVideoEncParam(videoResolution, resMode, videoFps, videoBitrate, minVideoBitrate, enableAdjustRes)

Parameters:
Name Type Description
videoResolution TRTCVideoResolution

【字段含义】 视频分辨率
【推荐取值】
- 视频通话建议选择360 × 640及以下分辨率,resMode 选择 Portrait。
- 手机直播建议选择 540 × 960,resMode 选择 Portrait。
- Window 和 iMac 建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape。 【特别说明】 TRTCVideoResolution 默认只能横屏模式的分辨率,例如640 × 360。
如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如640 × 360结合 Portrait 则为360 × 640。

resMode TRTCVideoResolutionMode

【字段含义】分辨率模式(横屏分辨率 - 竖屏分辨率)
【推荐取值】手机直播建议选择 Portrait,Window 和 Mac 建议选择 Landscape。
【特别说明】如果 videoResolution 指定分辨率 640 × 360,resMode 指定模式为 Portrait,则最终编码出的分辨率为360 × 640。

videoFps Number

【字段含义】视频采集帧率
【推荐取值】15fps 或 20fps,10fps 以下会有轻微卡顿感,5fps 以下卡顿感明显,20fps 以上的帧率则过于浪费(电影的帧率也只有 24fps)。
【特别说明】很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps。

videoBitrate Number

【字段含义】视频上行码率
【推荐取值】推荐设置请参考本文件前半部分 TRTCVideoResolution 定义处的注释说明
【特别说明】码率太低会导致视频中有很多的马赛克

minVideoBitrate Number

【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。 【推荐取值】
- 如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%; - 如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps; - 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力; - 默认值:0,此时最低码率由 SDK 根据分辨率情况,自动设置合适的数值。
【特别说明】
- 当您把分辨率设置的比较高时,minVideoBitrate 不适合设置的太低,否则会出现画面模糊和大范围的马赛克宏块。 比如把分辨率设置为 720p,把码率设置为 200kbps,那么编码出的画面将会出现大范围区域性马赛克。

enableAdjustRes Boolean

【字段含义】是否允许调整分辨率
【推荐取值】
- 手机直播建议选择 NO。
- 视频通话模式,若更关注流畅性,建议选择 YES,此时若遇到带宽有限的弱网,SDK 会自动降低分辨率以保障更好的流畅度(仅针对 TRTCVideoStreamTypeBig 生效)。 - 默认值:NO。
【特别说明】若有录制需求,选择 YES 时,请确保通话过程中,调整分辨率不会影响您的录制效果。