ZegoMixStreamConfig Class Reference
Inherits from | NSObject |
---|---|
Declared in | zego-api-mix-stream-defines-oc.h |
outputFps
混流输出视频帧率,值范围:[1,30],根据网络情况设定该值,帧率越高画面越流畅。
@property (nonatomic, assign) int outputFps
Declared In
zego-api-mix-stream-defines-oc.h
outputRateControlMode
- 混流输出码率控制模式,0 表示 CBR 恒定码率,1 表示 CRF 恒定质量,默认值为 0。
@property (nonatomic, assign) int outputRateControlMode
Discussion
CRF 恒定质量 表示保证视频的清晰度在固定水平上,因此若采用此控制模式,码率会根据网速的变化波动。
比如游戏类直播时,为了让观众看到比较流畅的操作类画面会使用恒定质量模式,提升视频质量。
Declared In
zego-api-mix-stream-defines-oc.h
outputBitrate
- 混流输出视频码率,输出码率控制模式参数设置为 CBR恒定码率 时此设置值生效。
@property (nonatomic, assign) int outputBitrate
Discussion
- 视频码率值范围:(0M,10M],此参数单位是 bps,1M = 1 * 1000 * 1000 bps
- 若设置了 ZegoMixStreamOutput.videoBitrate,则本参数会被忽略
- @warning Deprecated, 请使用 ZegoMixStreamOutput.videoBitrate 代替
Declared In
zego-api-mix-stream-defines-oc.h
outputQuality
- 混流输出质量,输出码率控制模式参数设置为 CRF恒定质量 时此设置值有效,有效值范围 [0,51],默认值是 23。
@property (nonatomic, assign) int outputQuality
Discussion
若想视频质量好点,在23的基础上降低质量值测试调整。
若想文件大小小一点,在23的基础上升高质量值测试调整;
以 x 值下的文件大小为例, x + 6 值下的文件大小是 x 值下文件大小的一半,x - 6 值下的文件大小是 x 值下文件大小的两倍。
Declared In
zego-api-mix-stream-defines-oc.h
outputAudioBitrate
- 混流输出音频码率,码率范围值是[10000, 192000]。
@property int outputAudioBitrate
Discussion
若音频编码格式采用 默认音频编码–即 outputAudioConfig 参数填 0,采用 1/2声道时,对应的建议码率值是 48k/64k,可根据需要在此基础上调整。
若音频编码格式采用 可选音频编码–即 outputAudioConfig 参数填 1,采用 1/2声道时,对应的建议码率值是 80k/128k,可根据需要在此基础上调整。
Declared In
zego-api-mix-stream-defines-oc.h
outputResolution
- 混流输出视频分辨率,不确定用什么分辨率时可采用16:9的规格设置。
@property (nonatomic, assign) CGSize outputResolution
Discussion
- 此参数中的宽必须大于等于 输入流列表中所有输入流中最大的分辨率宽,即right布局值;此参数中的高必须大于等于 输入流列表中所有输入流中最大的分辨率高,即bottom布局值;且输入流的布局位置不能超出此参数规定的范围。
Declared In
zego-api-mix-stream-defines-oc.h
outputAudioConfig
- 混流输出音频编码格式,可选值为 0–默认编码,1–可选编码;默认值为 0。
@property (nonatomic, assign) int outputAudioConfig
Discussion
0–默认编码:在低码率下,编码后的音质要明显好于 1–可选编码,在码率较大后,达到128kbps及以上,两种编码后的音质近乎相同。
1–可选编码:优点在于低复杂性,能兼容更多的设备播放;但是目前经过 0–默认编码 编码后的音频不能正常播放的情况很少。
Declared In
zego-api-mix-stream-defines-oc.h
inputStreamList
混流输入流列表,SDK 根据输入流列表中的流进行混流。
@property (nonatomic, strong) NSMutableArray<ZegoMixStreamInput*> *inputStreamList
Declared In
zego-api-mix-stream-defines-oc.h
outputList
混流输出流列表
@property (nonatomic, strong) NSMutableArray<ZegoMixStreamOutput*> *outputList
Declared In
zego-api-mix-stream-defines-oc.h
userData
- 用户自定义数据
@property (nonatomic, strong) NSData *userData
Discussion
- 注意:userData自定义的数据通过媒体次要信息的 -onRecvMediaSideInfo:ofStream: 接口回调出来。
Declared In
zego-api-mix-stream-defines-oc.h
channels
混流声道数,1-单声道,2-双声道,默认为单声道。
@property (nonatomic, assign) int channels
Declared In
zego-api-mix-stream-defines-oc.h
outputBackgroundColor
- 混流背景颜色,前三个字节为 RGB,即 0xRRGGBBxx。
@property (nonatomic, assign) int outputBackgroundColor
Discussion
- 例如:选取RGB为 #87CEFA 作为背景色,此处写为 0x87CEFA00。
Declared In
zego-api-mix-stream-defines-oc.h
outputBackgroundImage
- 混流背景图,支持预设图片,如 (preset-id://xxx)
@property (nonatomic, copy) NSString *outputBackgroundImage
Discussion
- 此值由 ZEGO 提供,开发者先将背景图提供给 ZEGO,ZEGO 设置后再反馈背景图片的设置参数。
Declared In
zego-api-mix-stream-defines-oc.h
withSoundLevel
是否开启音浪。YES:开启,NO:关闭;默认值是NO。
@property (nonatomic, assign) BOOL withSoundLevel
Declared In
zego-api-mix-stream-defines-oc.h
audioMixMode
- 混音模式,0 表示 raw 模式,1 表示 focus 模式,默认值为 0。
@property (nonatomic, assign) int audioMixMode
Discussion
raw模式:普通模式,未开启焦点语音功能。
focus模式:开启焦点语音功能,当未指定流(ZegoMixStreamInput.audioFocus = false)时,会自动突出4路流的音频。
focus模式:开启焦点语音功能,当指定流(ZegoMixStreamInput.audioFocus = true,最多同时4路流)时,如果小于4路流,会自动挑选其他流凑够4路,突出这4路流的音频。
Declared In
zego-api-mix-stream-defines-oc.h
watermark
混流水印
@property (nonatomic, strong) ZegoMixStreamWatermark *watermark
Declared In
zego-api-mix-stream-defines-oc.h
whiteboard
混流白板
@property (nonatomic, strong) ZegoMixStreamWhiteboard *whiteboard
Declared In
zego-api-mix-stream-defines-oc.h
singleStreamPassThrough
- 混流输入为一条流时,是否混流;非必填参数。YES:不对单流混流,混流输出的流属性与单流一致(分辨率,编码格式等),混流配置中设置的分辨率等配置无效;NO:混单流,混流服务器会对此单流重新编解码,混流输出的流属性与混流配置相同。
@property (nonatomic, assign) BOOL singleStreamPassThrough
Discussion
- 若需要开启此功能,请与即构技术支持联系。
Declared In
zego-api-mix-stream-defines-oc.h
streamAlignment
参考 streamAlignmentType (Deprecated: 参考 streamAlignmentType)
@property (nonatomic, assign) BOOL streamAlignment
Declared In
zego-api-mix-stream-defines-oc.h
streamAlignmentType
- 网络时间对齐模式;非必填参数。0:关闭混流时间对齐功能;1:尽量对齐。
@property (nonatomic, assign) int streamAlignmentType
Discussion
- 尽量对齐指:调用setStreamAlignmentProperty设置的推流用网络时间对齐,其它流不对齐。
Declared In
zego-api-mix-stream-defines-oc.h
advancedConfig
高级配置选项,适用于某些定制化的需求,格式 “config1=xxx;config2=xxx"。 请与即构技术支持联系了解可支持字段。
@property (nonatomic, copy) NSString *advancedConfig
Declared In
zego-api-mix-stream-defines-oc.h
minPlayStreamBufferLength
混流服务器拉取输入流的 jitter buffer 长度
@property (nonatomic, assign) int minPlayStreamBufferLength
Discussion
推流端网络抖动较大的场景,可以增加 buffer 长度,通过增加延迟的方式降低卡顿。 推流端网络抖动较小的场景,可以减小 buffer 长度,降低延迟。 在实时合唱 KTV 场景下,推流端网络轻微波动可能会导致混流的卡顿,此时观众拉混流的时候,会有比较高概率出现卡顿的问题。 通过调节混流服务器拉流的 jitter buffer 长度,可优化观众端拉混流出现的卡顿问题。 默认不设置,即服务端使用默认的配置值。 只会对新的输入流设置生效,对于已经开始混流的输入流不生效。
Declared In
zego-api-mix-stream-defines-oc.h