Class ZegoMixStreamConfig
- java.lang.Object
-
- com.zego.zegoavkit2.mixstream.ZegoMixStreamConfig
-
public final class ZegoMixStreamConfig extends java.lang.Object
混流配置Copyright © 2018 Zego. All rights reserved.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
ZegoMixStreamConfig.RateControlMode
-
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 streamAlignmentTypeint
streamAlignmentType
网络时间对齐类型;非必填参数。0:关闭混流时间对齐功能;1:混流时尽量对齐。
尽量对齐指:调用setStreamAlignmentProperty设置的推流用网络时间对齐,其它流不对齐。java.nio.ByteBuffer
userData
用户自定义数据ZegoMixStreamWatermark
watermark
水印ZegoMixStreamWhiteboard
whiteboard
混流输入白板信息boolean
withSoundLevel
是否开启音浪,true:开启,false:不开启;默认值是false。
-
Constructor Summary
Constructors Constructor Description ZegoMixStreamConfig()
-
-
-
Field Detail
-
outputFps
public int outputFps
混流输出视频帧率,值范围:[1,30],根据网络情况设定该值,帧率越高画面越流畅。
-
outputRateControlMode
public int outputRateControlMode
混流输出码率控制模式,0 表示 CBR 恒定码率,1 表示 CRF 恒定质量,默认值为 0。
-
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 根据输入流列表中的流进行混流。
-
outputList
public ZegoMixStreamOutput[] outputList
混流输出流列表
-
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
扩展信息,备用。
-
watermark
public ZegoMixStreamWatermark watermark
水印
-
whiteboard
public ZegoMixStreamWhiteboard whiteboard
混流输入白板信息
-
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 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。
通过调节混流服务器拉流的缓存长度下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。
默认不设置,即服务端使用默认的配置值。
只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
-
-