Appearance
设置视频编码器的编码参数
说明
该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
注意
从v11.5版本开始,编码输出分辨率会按照宽8高2字节对齐,并且是向下调整,eg:输入分辨率540x960,实际编码输出分辨率536x960。
方法名
setVideoEncoderParam
用法
- 用法如下:
js
module.setVideoEncoderParam({
params:{
},
//成功执行的函数
success: (res) => {
let data = res.data;
console.log(data)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
complete: (res) => {
// console.log(res)
}
})js
module.setVideoEncoderParam({
params:{
},
//成功执行的函数
success: (res) => {
const data = res.data;
console.log(data)
},
//失败执行的函数
fail: (res) => {
console.log(res)
},
//接口调用完成返回函数,不管成功还是失败都会返回
// complete: (res) => {
// console.log(res)
// }
} as LevenOptions)- 参数说明
参数名 参数类型 是否必填 默认值 参数描述 params Object 是 无 参数配置 params.enableAdjustRes Boolean 否 无 是否允许动态调整分辨率(开启后会对云端录制产生影响)。
该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。params.minVideoBitrate Integer 否 无 最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值
默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值
您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
1.如果您追求 弱网络下允许卡顿但要保持清晰 的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。
2.如果您追求 弱网络下允许模糊但要保持流畅 的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。
3.如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。params.videoBitrate Integer 否 无 目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。 params.videoFps Integer 否 无 视频采集帧率。
15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。
部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。params.videoResolution String 否 无 视频分辨率
如需使用竖屏分辨率,请指定resMode为Portrait,例如:640 × 360 + Portrait = 360 × 640
1.手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率
2.手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率
3.桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape,即横屏分辨率。
可选值请参考【分辨率类型】params.videoResolutionMode String 否 无 分辨率模式(横屏分辨率 or 竖屏分辨率),可选值:
landscape:横屏模式portrait:竖屏模式success Function 否 无 执行成功的函数 fail Function 否 无 执行失败的函数 complete Function 否 无 执行完成的函数,不管成功还是失败都会执行
分辨率类型
| 名称 | 参数描述 |
|---|---|
| TRTC_VIDEO_RESOLUTION_120_120 | 宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps |
| TRTC_VIDEO_RESOLUTION_160_160 | 宽高比 1:1 分辨率 160x160;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps |
| TRTC_VIDEO_RESOLUTION_270_270 | 宽高比 1:1;分辨率 270x270;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps |
| TRTC_VIDEO_RESOLUTION_480_480 | 宽高比 1:1;分辨率 480x480;建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps |
| TRTC_VIDEO_RESOLUTION_160_120 | 宽高比 4:3;分辨率 160x120;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps |
| TRTC_VIDEO_RESOLUTION_240_180 | 宽高比 4:3;分辨率 240x180;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps |
| TRTC_VIDEO_RESOLUTION_280_210 | 宽高比 4:3;分辨率 280x210;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps |
| TRTC_VIDEO_RESOLUTION_320_240 | 宽高比 4:3;分辨率 320x240;建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps |
| TRTC_VIDEO_RESOLUTION_400_300 | 宽高比 4:3;分辨率 400x300;建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps |
| TRTC_VIDEO_RESOLUTION_480_360 | 宽高比 4:3;分辨率 480x360;建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps |
| TRTC_VIDEO_RESOLUTION_640_480 | 宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps |
| TRTC_VIDEO_RESOLUTION_960_720 | 宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps |
| TRTC_VIDEO_RESOLUTION_160_90 | 宽高比 16:9;分辨率 160x90;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps |
| TRTC_VIDEO_RESOLUTION_256_144 | 宽高比 16:9;分辨率 256x144;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps |
| TRTC_VIDEO_RESOLUTION_320_180 | 宽高比 16:9;分辨率 320x180;建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps |
| TRTC_VIDEO_RESOLUTION_480_270 | 宽高比 16:9;分辨率 480x270;建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps |
| TRTC_VIDEO_RESOLUTION_640_360 | 宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps |
| TRTC_VIDEO_RESOLUTION_960_540 | 宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps |
| TRTC_VIDEO_RESOLUTION_1280_720 | 宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps |
| TRTC_VIDEO_RESOLUTION_1920_1080 | 宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps |
回调
- 示例
json
{
"data": { },
"message": "",
"code": 0
}- 回调说明:
参数名 参数类型 参数描述 message String 消息提示 data Object 数据对象 code Integer 返回类型,0.成功,其他:失败
