Class ZegoMixStreamConfig


  • public final class ZegoMixStreamConfig
    extends java.lang.Object
    混流配置

    Copyright © 2018 Zego. All rights reserved.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      java.lang.String advancedConfig
      高级配置选项,适用于某些定制化的需求,格式 "config1=xxx;config2=xxx"。
      请与即构技术支持联系了解可支持字段。
      int audioMixMode
      混音模式,0 表示 raw 模式,1 表示 focus 模式,默认值为 0。
      raw模式:普通模式,未开启焦点语音功能。
      focus模式:开启焦点语音功能,当未指定流(ZegoMixStreamInput.bAudioFocus = false)时,会自动突出4路流的音频.
      int channels
      混流声道数,1-单声道,2-双声道,默认为单声道。
      int extra
      扩展信息,备用。
      ZegoMixStreamInfo[] inputStreamList
      混流输入流列表,SDK 根据输入流列表中的流进行混流。
      int lenOfUserData
      用户自定义数据的长度。
      int minPlayStreamBufferLength
      设置混流服务器拉流缓存自适应调整的区间范围下限
      缓存自适应区间下限, 单位毫秒.
      int outputAudioBitrate
      混流输出音频码率,码率范围值是[10000, 192000]。
      若音频编码格式采用 默认音频编码--即 outputAudioConfig 参数填 0,采用 1/2声道时,对应的建议码率值是 48k/64k,可根据需要在此基础上调整。
      若音频编码格式采用 可选音频编码--即 outputAudioConfig 参数填 1,采用 1/2声道时,对应的建议码率值是 80k/128k,可根据需要在此基础上调整。
      int outputAudioConfig
      混流输出音频编码格式,可选值为 0--默认编码,1--可选编码;默认值为 0。
      0--默认编码:在低码率下,编码后的音质要明显好于 1--可选编码,在码率较大后,达到128kbps及以上,两种编码后的音质近乎相同。
      1--可选编码:优点在于低复杂性,能兼容更多的设备播放;但是目前经过 0--默认编码 编码后的音频不能正常播放的情况很少。
      int outputBackgroundColor
      混流背景颜色,前三个字节为 RGB,即 0xRRGGBBxx。
      例如:选取RGB为 #87CEFA 作为背景色,此处写为 0x87CEFA00。
      java.lang.String outputBackgroundImage
      混流背景图,支持预设图片,如 (preset-id://xxx)
      此值由 ZEGO 提供,开发者先将背景图提供给 ZEGO,ZEGO 设置后再反馈背景图片的设置参数。
      int outputBitrate
      Deprecated.
      int outputFps
      混流输出视频帧率,值范围:[1,30],根据网络情况设定该值,帧率越高画面越流畅。
      int outputHeight
      混流输出视频分辨率高,不确定用什么分辨率时可采用16:9的规格设置。
      此值必须大于等于 输入流列表中所有输入流中最大的分辨率高,即bottom布局值,且输入流的布局位置不能超出此值规定的范围。
      ZegoMixStreamOutput[] outputList
      混流输出流列表
      int outputQuality
      混流输出质量,输出码率控制模式参数设置为 CRF恒定质量 时此设置值有效,有效值范围 [0,51],默认值是 23。
      若想视频质量好点,在23的基础上降低质量值测试调整。
      若想文件大小小一点,在23的基础上升高质量值测试调整;
      以 x 值下的文件大小为例, x + 6 值下的文件大小是 x 值下文件大小的一半,x - 6 值下的文件大小是 x 值下文件大小的两倍。
      int outputRateControlMode
      混流输出码率控制模式,0 表示 CBR 恒定码率,1 表示 CRF 恒定质量,默认值为 0。
      int outputWidth
      混流输出视频分辨率宽,不确定用什么分辨率时可采用16:9的规格设置。
      此值必须大于等于 输入流列表中所有输入流中最大的分辨率宽,即right布局值,且输入流的布局位置不能超出此值规定的范围。
      boolean singleStreamPassThrough
      混流输入为一条流时,是否混流;非必填参数。true:不对单流混流,混流输出的流属性与单流一致(分辨率,编码格式等),混流配置中设置的分辨率等配置无效;false:混单流,混流服务器会对此单流重新编解码,混流输出的流属性与混流配置相同。
      若需要开启此功能,请与即构技术支持联系。
      boolean streamAlignment
      Deprecated.
      see streamAlignmentType
      int streamAlignmentType
      网络时间对齐类型;非必填参数。0:关闭混流时间对齐功能;1:混流时尽量对齐。
      尽量对齐指:调用setStreamAlignmentProperty设置的推流用网络时间对齐,其它流不对齐。
      java.nio.ByteBuffer userData
      用户自定义数据
      ZegoMixStreamWatermark watermark
      水印
      ZegoMixStreamWhiteboard whiteboard
      混流输入白板信息
      boolean withSoundLevel
      是否开启音浪,true:开启,false:不开启;默认值是false。
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • outputFps

        public int outputFps
        混流输出视频帧率,值范围:[1,30],根据网络情况设定该值,帧率越高画面越流畅。
      • outputBitrate

        @Deprecated
        public int outputBitrate
        Deprecated.

        混流输出视频码率,输出码率控制模式参数设置为 CBR恒定码率 时此设置值生效。
        视频码率值范围:(0M,10M],此参数单位是 bps,1M = 1 * 1000 * 1000 bps
        若设置了 ZegoMixStreamOutput.videoBitrate,则本参数会被忽略
        @deprecated 建议使用 ZegoMixStreamOutput.videoBitrate 代替

      • outputQuality

        public int outputQuality

        混流输出质量,输出码率控制模式参数设置为 CRF恒定质量 时此设置值有效,有效值范围 [0,51],默认值是 23。
        若想视频质量好点,在23的基础上降低质量值测试调整。
        若想文件大小小一点,在23的基础上升高质量值测试调整;
        以 x 值下的文件大小为例, x + 6 值下的文件大小是 x 值下文件大小的一半,x - 6 值下的文件大小是 x 值下文件大小的两倍。

      • outputAudioBitrate

        public int outputAudioBitrate

        混流输出音频码率,码率范围值是[10000, 192000]。
        若音频编码格式采用 默认音频编码--即 outputAudioConfig 参数填 0,采用 1/2声道时,对应的建议码率值是 48k/64k,可根据需要在此基础上调整。
        若音频编码格式采用 可选音频编码--即 outputAudioConfig 参数填 1,采用 1/2声道时,对应的建议码率值是 80k/128k,可根据需要在此基础上调整。

      • outputWidth

        public int outputWidth

        混流输出视频分辨率宽,不确定用什么分辨率时可采用16:9的规格设置。
        此值必须大于等于 输入流列表中所有输入流中最大的分辨率宽,即right布局值,且输入流的布局位置不能超出此值规定的范围。

      • outputHeight

        public int outputHeight

        混流输出视频分辨率高,不确定用什么分辨率时可采用16:9的规格设置。
        此值必须大于等于 输入流列表中所有输入流中最大的分辨率高,即bottom布局值,且输入流的布局位置不能超出此值规定的范围。

      • outputAudioConfig

        public int outputAudioConfig

        混流输出音频编码格式,可选值为 0--默认编码,1--可选编码;默认值为 0。
        0--默认编码:在低码率下,编码后的音质要明显好于 1--可选编码,在码率较大后,达到128kbps及以上,两种编码后的音质近乎相同。
        1--可选编码:优点在于低复杂性,能兼容更多的设备播放;但是目前经过 0--默认编码 编码后的音频不能正常播放的情况很少。

      • inputStreamList

        public ZegoMixStreamInfo[] inputStreamList
        混流输入流列表,SDK 根据输入流列表中的流进行混流。
      • userData

        public java.nio.ByteBuffer userData
        用户自定义数据

        注意:1. 必须使用ByteBuffer.allocateDirect(int)创建,否则数据不能传递给SDK。
        2. userData自定义的数据通过媒体次要信息的 onRecvMediaSideInfo 接口回调出来。

      • lenOfUserData

        public int lenOfUserData
        用户自定义数据的长度。
      • channels

        public int channels
        混流声道数,1-单声道,2-双声道,默认为单声道。
      • outputBackgroundColor

        public int outputBackgroundColor

        混流背景颜色,前三个字节为 RGB,即 0xRRGGBBxx。
        例如:选取RGB为 #87CEFA 作为背景色,此处写为 0x87CEFA00。

      • outputBackgroundImage

        public java.lang.String outputBackgroundImage

        混流背景图,支持预设图片,如 (preset-id://xxx)
        此值由 ZEGO 提供,开发者先将背景图提供给 ZEGO,ZEGO 设置后再反馈背景图片的设置参数。

      • withSoundLevel

        public boolean withSoundLevel
        是否开启音浪,true:开启,false:不开启;默认值是false。
      • audioMixMode

        public int audioMixMode

        混音模式,0 表示 raw 模式,1 表示 focus 模式,默认值为 0。
        raw模式:普通模式,未开启焦点语音功能。
        focus模式:开启焦点语音功能,当未指定流(ZegoMixStreamInput.bAudioFocus = false)时,会自动突出4路流的音频.
        focus模式:开启焦点语音功能,当指定流(ZegoMixStreamInput.bAudioFocus = true,最多同时4路流)时,如果小于4路流,会自动挑选其他流凑够4路,突出这4路流的音频。

      • extra

        public int extra
        扩展信息,备用。
      • singleStreamPassThrough

        public boolean singleStreamPassThrough

        混流输入为一条流时,是否混流;非必填参数。true:不对单流混流,混流输出的流属性与单流一致(分辨率,编码格式等),混流配置中设置的分辨率等配置无效;false:混单流,混流服务器会对此单流重新编解码,混流输出的流属性与混流配置相同。
        若需要开启此功能,请与即构技术支持联系。

      • streamAlignment

        public boolean streamAlignment
        Deprecated.
        see streamAlignmentType
      • streamAlignmentType

        public int streamAlignmentType

        网络时间对齐类型;非必填参数。0:关闭混流时间对齐功能;1:混流时尽量对齐。
        尽量对齐指:调用setStreamAlignmentProperty设置的推流用网络时间对齐,其它流不对齐。

      • advancedConfig

        public java.lang.String advancedConfig

        高级配置选项,适用于某些定制化的需求,格式 "config1=xxx;config2=xxx"。
        请与即构技术支持联系了解可支持字段。

      • minPlayStreamBufferLength

        public int minPlayStreamBufferLength

        设置混流服务器拉流缓存自适应调整的区间范围下限
        缓存自适应区间下限, 单位毫秒. 当 minPlayStreamBufferLength <= 0 表示未设置下限。
        在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。
        通过调节混流服务器拉流的缓存长度下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。
        默认不设置,即服务端使用默认的配置值。
        只会对新的输入流设置生效,对于已经开始混流的输入流不生效。

    • Constructor Detail

      • ZegoMixStreamConfig

        public ZegoMixStreamConfig()