Skip to content

设置视频编码器的编码参数

说明

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

注意

从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)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject参数配置
    params.enableAdjustResBoolean是否允许动态调整分辨率(开启后会对云端录制产生影响)。
    该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
    默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。
    params.minVideoBitrateInteger最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值
    默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值
    您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
    1.如果您追求 弱网络下允许卡顿但要保持清晰 的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。
    2.如果您追求 弱网络下允许模糊但要保持流畅 的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。
    3.如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。
    params.videoBitrateInteger目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。
    params.videoFpsInteger视频采集帧率。
    15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。
    部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。
    params.videoResolutionString视频分辨率
    如需使用竖屏分辨率,请指定 resModePortrait,例如: 640 × 360 + Portrait = 360 × 640
    1.手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率
    2.手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率
    3.桌面平台(Win + Mac):建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape,即横屏分辨率。
    可选值请参考【分辨率类型
    params.videoResolutionModeString分辨率模式(横屏分辨率 or 竖屏分辨率),可选值:
    landscape:横屏模式
    portrait:竖屏模式
    successFunction执行成功的函数
    failFunction执行失败的函数
    completeFunction执行完成的函数,不管成功还是失败都会执行

分辨率类型

名称参数描述
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
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    codeInteger返回类型,0.成功,其他:失败