Skip to content

开启大小画面双路编码模式

说明

开启双路编码模式后,当前用户的编码器会同时输出【高清大画面】和【低清小画面】两路视频流(但只有一路音频流)。 如此以来,房间中的其他用户就可以根据自身的网络情况或屏幕大小选择订阅【高清大画面】或是【低清小画面】。

注意

双路编码开启后,会消耗更多的 CPU 和 网络带宽,所以 Mac、Windows 或者高性能 Pad 可以考虑开启,不建议手机端开启。

方法名

enableEncSmallVideoStream

用法

  • 用法如下:
js
module.enableEncSmallVideoStream({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    let data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  complete: (res) => {
    // console.log(res)
  }
})
js
module.enableEncSmallVideoStream({
  params:{
  },
  //成功执行的函数
  success: (res) => {
    const data = res.data;
    console.log(data)
  },
  //失败执行的函数
  fail: (res) => {
    console.log(res)
  },
  //接口调用完成返回函数,不管成功还是失败都会返回
  // complete: (res) => {
  //   console.log(res)
  // }
} as LevenOptions)
  • 参数说明
    参数名参数类型是否必填默认值参数描述
    paramsObject参数配置
    params.enableBooleanfalse是否开启小画面编码,默认值:false
    params.enableAdjustResBooleanfalse是否允许动态调整分辨率(开启后会对云端录制产生影响)
    该功能适用于不需要云端录制的场景,开启后 SDK 会根据当前网络情况,智能选择出一个合适的分辨率,避免出现“大分辨率+小码率”的低效编码模式。
    默认值:关闭。如有云端录制的需求,请不要开启此功能,因为如果视频分辨率发生变化后,云端录制出的 MP4 在普通的播放器上无法正常播放。
    params.minVideoBitrateInteger0最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率以保持流畅度,最低会降至 minVideoBitrate 所设定的数值
    默认值:0,此时最低码率由 SDK 会根据您指定的分辨率,自动计算出合适的数值。
    您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
    1.如果您追求 弱网络下允许卡顿但要保持清晰 的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。
    2.如果您追求 弱网络下允许模糊但要保持流畅 的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)
    3.如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。
    params.videoBitrateInteger0目标视频码率,SDK 会按照目标码率进行编码,只有在弱网络环境下才会主动降低视频码率。
    请参见本 TRTCVideoResolution 在各档位注释的最佳码率,也可以在此基础上适当调高。例如:TRTCVideoResolution_1280_720 对应 1200kbps 的目标码率,您也可以设置为 1500kbps 用来获得更好的观感清晰度。
    您可以通过同时设置 videoBitrate 和 minVideoBitrate 两个参数,用于约束 SDK 对视频码率的调整范围:
    1.如果您追求“弱网络下允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%。
    2.如果您追求“弱网络下允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为一个较低的数值(例如 100kbps)。
    3.如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 对视频码率的自适应调节能力。
    params.videoFpsInteger0视频采集帧率
    15fps或20fps。5fps以下,卡顿感明显。10fps以下,会有轻微卡顿感。20fps以上,会浪费带宽(电影的帧率为24fps)。
    部分 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分主打美颜功能的 Android 手机的前置摄像头的采集帧率可能低于10fps。
    params.videoResolutionString视频分辨率
    如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如: 640 × 360 + Portrait = 360 × 640
    【推荐取值】
    1.手机视频通话:建议选择 360 × 640 及以下分辨率,resMode 选择 Portrait,即竖屏分辨率。
    2.手机在线直播:建议选择 540 × 960,resMode 选择 Portrait,即竖屏分辨率。
    可选值请参考:视频分辨率类型
    params.videoResolutionModeString分辨率模式(横屏分辨率 or 竖屏分辨率),可选值:landscapeportrait
    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": { 
  "result": 0
},
"message": "",
"code": 0
}
  • 回调说明:
    参数名参数类型参数描述
    messageString消息提示
    dataObject数据对象
    data.resultInteger0:成功;-1:当前大画面已被设置为较低画质,开启双路编码已无必要。
    codeInteger返回类型,0.成功,其他:失败