TRTCVideoEncParam

TRTCVideoEncParam

视频编码参数

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

Constructor

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

Parameters:
Name Type Description
videoResolution TRTCVideoResolution required

【字段含义】 视频分辨率
【推荐取值】
- 视频通话建议选择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 required

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

videoFps Number required

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

videoBitrate Number required

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

minVideoBitrate Number required

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

enableAdjustRes Boolean required

【字段含义】是否允许动态调整分辨率(开启后会对云端录制产生影响)
【推荐取值】该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
【特别说明】默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。