ZegoAudioRoom
|
#include <zego-api-mix-stream-defines.h>
Public Member Functions | |
ZegoMixStreamConfig () | |
Public Attributes | |
int | nOutputFps |
int | nOutputRateControlMode |
int | nOutputBitrate |
int | nOutputQuality |
int | nOutputAudioBitrate |
int | nOutputWidth |
int | nOutputHeight |
int | nOutputAudioConfig |
ZegoMixStreamInput * | pInputStreamList |
int | nInputStreamCount |
ZegoMixStreamOutput * | pOutputList |
int | nOutputStreamCount |
const unsigned char * | pUserData |
int | nLenOfUserData |
int | nChannels |
int | nOutputBackgroundColor |
const char * | pOutputBackgroundImage |
bool | bWithSoundLevel |
int | nAudioMixMode |
int | nExtra |
ZegoMixStreamWatermark * | pOutputWatermark |
ZegoMixStreamWhiteboard * | pInputWhiteboard |
bool | bSingleStreamPassThrough |
bool | bStreamAlignment |
int | nStreamAlignmentType |
const char * | pAdvancedConfig |
int | minPlayStreamBufferLength |
int | nMixImageCheckMode |
混流配置
|
inline |
bool ZEGO::MIXSTREAM::ZegoMixStreamConfig::bSingleStreamPassThrough |
混流输入为一条流时,是否混流;非必填参数。true:不对单流混流,混流输出的流属性与单流一致(分辨率,编码格式等),混流配置中设置的分辨率等配置无效;false:混单流,混流服务器会对此单流重新编解码,混流输出的流属性与混流配置相同。
若需要开启此功能,请与即构技术支持联系。
bool ZEGO::MIXSTREAM::ZegoMixStreamConfig::bStreamAlignment |
bool ZEGO::MIXSTREAM::ZegoMixStreamConfig::bWithSoundLevel |
是否开启音浪。true:开启,false:关闭;默认值是false。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::minPlayStreamBufferLength |
设置混流服务器拉流缓存自适应调整的区间范围下限
缓存自适应区间下限, 单位毫秒. 当 minPlayStreamBufferLength <= 0 表示未设置下限。 在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。 通过调节混流服务器拉流的缓存长度下限,可优化观众端拉混流出现的卡顿问题,但会增大延迟。 默认不设置,即服务端使用默认的配置值。 只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nAudioMixMode |
混音模式,0 表示 raw 模式,1 表示 focus 模式,默认值为 0。
raw模式:普通模式,未开启焦点语音功能。
focus模式:开启焦点语音功能,当未指定流(ZegoMixStreamInput.bAudioFocus = false)时,会自动突出4路流的音频.
focus模式:开启焦点语音功能,当指定流(ZegoMixStreamInput.bAudioFocus = true,最多同时4路流)时,如果小于4路流,会自动挑选其他流凑够4路,突出这4路流的音频。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nChannels |
混流声道数,1-单声道,2-双声道,默认为单声道。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nExtra |
扩展信息,备用。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nInputStreamCount |
混流输入流列表个数
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nLenOfUserData |
用户自定义数据的长度
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nMixImageCheckMode |
0 严格执行图片校验,设置的背景图,水印,图片路径 URI/URL,图片大小,图片资源请求成功,才能正常发起混流,否则发起混流失败 1 仅校验图片路径 URI/URL 只要路径正确即可发起混流成功。 2 不检验图片相关参数,即可发起混流成功
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputAudioBitrate |
混流输出音频码率,码率范围值是[10000, 192000]。
若音频编码格式采用 默认音频编码–即 nOutputAudioConfig 参数填 0,采用 1/2声道时,对应的建议码率值是 48k/64k,可根据需要在此基础上调整。
若音频编码格式采用 可选音频编码–即 nOutputAudioConfig 参数填 1,采用 1/2声道时,对应的建议码率值是 80k/128k,可根据需要在此基础上调整。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputAudioConfig |
混流输出音频编码格式,可选值为 0–默认编码,1–可选编码;默认值为 0。
0–默认编码:在低码率下,编码后的音质要明显好于 1–可选编码,在码率较大后,达到128kbps及以上,两种编码后的音质近乎相同。
1–可选编码:优点在于低复杂性,能兼容更多的设备播放;但是目前经过 0–默认编码 编码后的音频不能正常播放的情况很少。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputBackgroundColor |
混流背景颜色,前三个字节为 RGB,即 0xRRGGBBxx。
例如:选取RGB为 #87CEFA 作为背景色,此处写为 0x87CEFA00。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputBitrate |
混流输出视频码率,输出码率控制模式参数设置为 CBR恒定码率 时此设置值生效。
视频码率值范围:(0M,10M],此参数单位是 bps,1M = 1 * 1000 * 1000 bps 若设置了 ZegoMixStreamOutput.videoBitrate,则本参数会被忽略
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputFps |
混流输出视频帧率,值范围:[1,30],根据网络情况设定该值,帧率越高画面越流畅。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputHeight |
混流输出视频分辨率高,不确定用什么分辨率时可采用16:9的规格设置。
此值必须大于等于 输入流列表中所有输入流中最大的分辨率高,即bottom布局值,且输入流的布局位置不能超出此值规定的范围。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputQuality |
混流输出质量,输出码率控制模式参数设置为 CRF恒定质量 时此设置值有效,有效值范围 [0,51],默认值是 23。
若想视频质量好点,在23的基础上降低质量值测试调整。
若想文件大小小一点,在23的基础上升高质量值测试调整;
以 x 值下的文件大小为例, x + 6 值下的文件大小是 x 值下文件大小的一半,x - 6 值下的文件大小是 x 值下文件大小的两倍。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputRateControlMode |
混流输出码率控制模式,0 表示 CBR 恒定码率,1 表示 CRF 恒定质量,默认值为 0。
CRF 恒定质量 表示保证视频的清晰度在固定水平上,因此若采用此控制模式,码率会根据网速的变化波动。
比如游戏类直播时,为了让观众看到比较流畅的操作类画面会使用恒定质量模式,提升视频质量。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputStreamCount |
混流输出流列表个数 混流输出列表个数
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nOutputWidth |
混流输出视频分辨率宽,不确定用什么分辨率时可采用16:9的规格设置。
此值必须大于等于 输入流列表中所有输入流中最大的分辨率宽,即right布局值,且输入流的布局位置不能超出此值规定的范围。
int ZEGO::MIXSTREAM::ZegoMixStreamConfig::nStreamAlignmentType |
网络时间对齐模式,0:关闭混流时间对齐功能;1:混流时尽量对齐。默认为0 尽量对齐指:调用SetStreamAlignmentProperty设置的推流用网络时间对齐,其它流不对齐。
const char* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pAdvancedConfig |
高级配置选项,适用于某些定制化的需求,格式 "config1=xxx;config2=xxx"。 请与即构技术支持联系了解可支持字段。
ZegoMixStreamInput* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pInputStreamList |
混流输入流列表,SDK 根据输入流列表中的流进行混流。
ZegoMixStreamWhiteboard* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pInputWhiteboard |
混流输入白板信息
const char* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pOutputBackgroundImage |
混流背景图,支持预设图片,如 (preset-id://xxx)
此值由 ZEGO 提供,开发者先将背景图提供给 ZEGO,ZEGO 设置后再反馈背景图片的设置参数。
ZegoMixStreamOutput* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pOutputList |
混流输出流列表
ZegoMixStreamWatermark* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pOutputWatermark |
混流水印
const unsigned char* ZEGO::MIXSTREAM::ZegoMixStreamConfig::pUserData |
用户自定义数据