一对一通话媒体参数配置类,作为 updateMediaConfig 方法的入参使用

Properties

audioAecEnable: boolean = true

是否开启回声消除,默认开启

  • true: 开启
  • false: 关闭
audioAecMode: AecMode = AecMode.AEC_MODE_SDE

回声消除模式,默认为 AEC_MODE_SDE ,参见:

audioAgcTarget: number = 3

发送端声音自动增益控制目标,单位dBOV,默认值为3

取值范围为[0,20],0代表声音越大。当 audioQosAgc 为 true 时有效

audioArsBitrateMax: number = 75

音频最大码率 kb,默认值为 75

audioArsBitrateMin: number = 20

音频最小码率 kb,默认值为 20

audioArsEnable: boolean = true

是否开启音频,默认开启

  • true: 开启
  • false: 关闭
audioEnableCodecs: string = "opus;AMR;G729"

音频编解码

协商优先级按顺序排列,每个编解码用";"间隔,注意大小写,默认值为 "opus;AMR;G729"

audioPacketTime: number = 20

音频打包时长,默认值为 20

audioQosAec: boolean = true

是否开启回声消除,默认开启

  • true: 开启
  • false: 关闭
audioQosAgc: boolean = true

是否开启发送端声音自动增益控制,默认开启

  • true: 开启
  • false: 关闭
audioQosAgcGain: number = 9

发送端声音自动增益控制强度,默认值为9

取值范围为[0,90],数值越大,增益强度越大。当 audioQosAgc 为 true 时有效

audioQosAnr: boolean = true

是否开启发送端噪声抑制,默认开启

接收端声音噪声大,提高抑制等级。接收端声音小,可在不影响声音质量情况下降低抑制等级或者关闭抑制

  • true: 开启
  • false: 关闭
audioQosVad: boolean = false

是否开启静音检测,默认关闭

  • true: 开启
  • false: 关闭
audioRed: boolean = true

是否打开语音red抗丢包,默认开启

网络不稳定,一般选择打开

  • true: 打开,能够增加payload码率
  • false: 关闭,能力节省码率从而降低功耗
audioRtx: boolean = false

是否开启rtx重传,默认关闭

同FEC、NACK一起用,能够降低功耗。网络不稳定,一般选择打开

  • true: 打开
  • false: 关闭
audioRxAgc: boolean = false

是否打开接收端声音自动增益控制,默认关闭

接收端声音过大过小时,可尝试打开

  • true: 打开
  • false: 关闭
audioRxAnr: boolean = false

是否开启噪声抑制,默认关闭

一般接收端声音质量好可关闭噪声抑制,减少声音dsp处理,降低功耗

  • true: 开启
  • false: 关闭
heartbeatTime: number = 30

心跳间隔,默认心跳间隔为30秒

取值范围为(0,3600)。比如本端设置了心跳间隔为 X 秒,那么对端在 3*X 秒内都没有收到本端的心跳时,对端将收到 onCallItemRemove 通话结束的回调

mode: Mode = Mode.MODE_360P

配置模式

默认为 MODE_360P

videoArsBitrateMax: number = 1500

视频最大码率 kb,默认值为 1500

videoArsBitrateMin: number = 50

视频最小码率 kb,默认值为 50

videoArsEnable: boolean = true

是否开启视频 ars,默认开启

  • true: 开启
  • false: 关闭
videoArsFramerateMax: number = 30

视频最大帧率 kb,默认值为 30

videoArsFramerateMin: number = 1

视频最小帧率 kb,默认值为 1

videoBitrate: number = 800

视频初始码率 kb,默认值为 800

videoEnableCodecs: string = "H264-SVC;H264;VP8;AV1"

视频编解码,协商优先级按顺序排列,默认值为 "H264-SVC;H264;VP8"

videoKeyPeriod: number = 0

视频关键帧间隔(毫秒),MODE_RTOS 模式下默认值为 1000

仅在 MODE_RTOS 模式下生效,其他模式下设置无效

videoRecvFullScreen: boolean = true

本端视频分辨率是否影响请求分辨率,默认影响

这里举个例子,有假设条件:
1. 本端默认请求是640*360的分辨率
2. 本端屏幕分辨率为360*360
- 若此参数设置成 true:请求分辨率 360*360
- 若此参数设置成 false: 请求分辨率 640*360

  • true: 影响
  • false: 不影响
videoRedFec: boolean = true

是否开启rfc 2198 语音fec-red,默认开启

开启后可以增强抗丢包能力,会增加一倍的payload码率,不会增加包头。 比如Opus 55kbps增加一倍码率后,最终码率达到90kbps=55+35;Opus 10kbps增加一倍码率后,最终码率达到16kbps=10+6

  • true: 开启
  • false: 关闭
videoResolutionControl: boolean = true

是否开启分辨率控制,默认开启

  • true: 开启,分辨率随网络波动而变化
  • false: 关闭,固定分辨率
videoResolutionRecvHeight: number = 360

视频接收高,默认值为 360

videoResolutionRecvWidth: number = 640

视频接收宽,默认值值为 640

videoResolutionSendHeight: number = 360

视频发送高,默认值为 360

videoResolutionSendWidth: number = 640

视频发送宽,默认值为 640

videoSendFramerate: number = 24

发送帧率,默认值为 24

videoSmallNalu: boolean = true

是否开启视频数据以SmallNalu方式打包,默认开启

开启后,一个包打包的数据多,减少包头的码率,从而降低功耗

  • true: 开启
  • false: 关闭

Methods

  • 打印一对一通话媒体参数配置字符串

    Returns string

    一对一通话媒体参数配置字符串