AlivcLivePusher_Interactive v6.17.0
Aliyun Live Pusher Interactive SDK API Reference Manual for iOS Platforms
Loading...
Searching...
No Matches
AlivcLivePushConfig Class Reference

直播推流参数配置类 More...

#include "AlivcLivePushConfig.h"

Inheritance diagram for AlivcLivePushConfig:

Instance Methods

(void) - addWatermarkWithPath:watermarkCoordX:watermarkCoordY:watermarkWidth:
 添加水印 最多支持3个水印
 
(NSArray< NSDictionary * > *) - getAllWatermarks
 获取全部水印 key:watermarkPath value:水印图片路径 key:watermarkCoordX value:x值 key:watermarkCoordY value:y值 key:watermarkWidth value:width值
 
(CGSize) - getPushResolution
 获取推流宽高具体数值
 
(instancetype) - initWithResolution:
 init 分辨率 其余值为默认值
 
(void) - removeWatermarkWithPath:
 移除水印
 

Properties

int audioBitrate
 音频编码码率 default : 64
 
AlivcLivePushAudioChannel audioChannel
 声道数 default : AlivcLivePushAudioChannel_1 单声道
 
AlivcLivePushAudioEncoderCodec audioEncoderCodec
 音频编码器类型 default : AlivcLivePushAudioEncoderCodecOpus
 
AlivcLivePushAudioEncoderMode audioEncoderMode
 音频编码模式 default : AlivcLivePushAudioEncoderModeSoft
 
AlivcLivePushAudioEncoderProfile audioEncoderProfile
 音频编码格式 default : AlivcLivePushAudioEncoderProfile_AAC_LC
 
BOOL audioFromExternal
 外部自定义数据是否包含音频 default: YES
 
bool audioOnly
 纯音频推流 default : false
 
AlivcLivePushAudioSampleRate audioSampleRate
 音频采样率 default : AlivcLivePushAudioSampleRate48000
 
AlivcLivePusherAudioScenario audioScene
 音频应用场景 default:AlivcLivePusherAudioScenarioMusicMode 默认自适应音乐模式
 
AlivcLivePusherAudioSessionOperationRestriction audioSessionOperationRestriction
 设置SDK对AVAudioSession的控制权限 default : AlivcLivePusherAudioSessionOperationRestrictionNone
 
bool autoFocus
 自动聚焦 default : true
 
NSDictionary * businessInfo
 业务信息
 
AlivcLivePushCameraType cameraType
 摄像头类型 default : AlivcLivePushCameraTypeFront
 
int connectRetryCount
 重连次数 default : 5
 
float connectRetryInterval
 重连时长 default : 1000
 
bool enableAutoBitrate
 是否打开码率自适应 default : true
 
bool enableAutoResolution
 是否打开分辨率自适应 (动态分辨率) default : false
 
BOOL enableDataChannelMessage
 打开数据通道收到自定义消息 default : false
 
BOOL enableExternSampleBufferSize
 外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供通用的长宽比, 为了避免图像被裁剪,开启enableExternSampleBufferSize开关,SDK将使用sampleBufferSize 输入的分辨率为目标分辨率
 
BOOL enableHDPreview
 是否开启高清预览 (高清预览模式下,调整推流分辨率不重启采集) default : true
 
BOOL enableLocalVideoRawBuffer
 互动模式下enableLocalVideoTexture指定纹理回调后,可以设置enableLocalVideoRawBuffer打开视频裸数据的回调,格式是I420
 
BOOL enableLocalVideoTexture
 互动模式下默认回调pixbuffer,通过enableLocalVideoTexture可以指定纹理回调
 
bool enableNarrowbandAndHDForScreenPusher
 是否在抓屏推流场景下打开窄带高清(更低的带宽,更高的清晰度)开关 default : true
 
BOOL enableRemoteVideoFrameObserver
 远端视频裸数据回调开关(互动模式下有效) default : false
 
BOOL enableRTSForInteractiveMode
 互动模式下开启RTS推拉裸流(直推&直拉,不同于直播连麦)
 
bool enableVideoCodecDowngrade
 允许视频编码自动降级
 
AlivcLivePushAudioFormat externAudioFormat
 外部自定义音频数据 default : unknown
 
bool externMainStream
 是否外部自定义数据推流 default : false
 
AlivcLivePushVideoFormat externVideoFormat
 外部自定义视频数据 default : unknown
 
NSDictionary * extras
 直播连麦场景透传RTC extra信息字段
 
bool flash
 是否开启闪光灯 default : false
 
AlivcLivePushFPS fps
 视频采集帧率 defalut : AlivcLivePushFPS20
 
BOOL h5CompatibleMode
 设置H5兼容模式
 
int initialVideoBitrate
 初始视频编码码率 default : 800
 
AlivcLivePushMode livePushMode
 直播SDK推流模式
 
bool macroFocus
 微距对焦,适用多个摄像头的高端机型,近距离拍摄对焦 default : false
 
AlivcLivePushFPS minFps
 最小视频采集帧率 default : AlivcLivePushFPS8
 
int minVideoBitrate
 最小视频编码码率 default : 200
 
AlivcLivePushMonitorLevel monitorLevel
 SDK质量监控等级,针对嵌入式场景,可以指定精简的监控信息
 
UIImage * networkPoorImg
 码率低图片
 
bool openBFrame
 视频硬编模式下是否开启B帧 default:NO
 
AlivcLivePushOrientation orientation
 推流方向 : 竖屏、90度横屏、270度横屏 default : AlivcLivePushOrientationPortrait
 
UIImage * pauseImg
 暂停推流图片
 
AlivcPusherPreviewDisplayMode previewDisplayMode
 预览显示模式 default : ALIVC_LIVE_PUSHER_PREVIEW_ASPECT_FILL
 
bool previewMirror
 预览镜像 default : true 前置摄像头默认预览镜像,后置摄像头预览不镜像
 
bool pushMirror
 推流镜像 default : false 关闭镜像
 
AlivcLivePushQualityMode qualityMode
 直播推流SDK工作模式
 
BOOL requireGLSharedContext
 开启 openGL Shared Context 模式 default : false
 
AlivcLivePushResolution resolution
 推流分辨率设置分辨率 default : AlivcLivePushDefinition540P
 
CGSize sampleBufferSize
 外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供的通用长宽比,为了避免图像被裁剪,可以指定输入视频的长宽比为输出视频的长宽比
 
int sendDataTimeout
 网络发送数据超时 default : 3000
 
int targetVideoBitrate
 目标视频编码码率 default : 800
 
bool useAliyunPlayerForBGM
 设置背景音乐使用阿里云播放器来播放,默认使用内置播放 内置播放支持大部分场景,若有需要特别的格式,可以切换至阿里云播放器,需要app添加阿里云播放器5.4.1及以上版本的依赖 default:false
 
NSString * userName
 用户名
 
AlivcLivePushVideoEncodeGOP videoEncodeGop
 关键帧间隔 default : AlivcLivePushVideoEncodeGOP_2
 
AlivcLivePushVideoEncoderMode videoEncoderMode
 视频编码模式 default : AlivcLivePushVideoEncoderModeHard
 
AlivcLivePushVideoEncoderModeHardCodec videoHardEncoderCodec
 视频硬编码方式
 
bool videoOnly
 纯视频推流,只有RTMP推流才支持纯视频推流,当前RTC不支持纯视频推流 default : false
 

Detailed Description

直播推流参数配置类

Method Documentation

◆ addWatermarkWithPath:watermarkCoordX:watermarkCoordY:watermarkWidth:

- (void) addWatermarkWithPath: (NSString *)  path
watermarkCoordX: (CGFloat)  coordX
watermarkCoordY: (CGFloat)  coordY
watermarkWidth: (CGFloat)  ALIVCLIVEPUSH_DEPRECAETD_WATERMARK_API 

添加水印 最多支持3个水印

Parameters
addWatermarkWithPath水印路径
watermarkCoordX水印左上顶点x的相对坐标 [0,1]
watermarkCoordY水印左上顶点y的相对坐标 [0,1]
watermarkWidth水印的相对宽度 (水印会根据水印图片实际大小和水印宽度等比缩放) (0,1]
Note
当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置水印相关接口,AlivcLivePushInteractiveMode模式下暂时不支持设置水印

◆ getAllWatermarks

- (NSArray< NSDictionary * > *) getAllWatermarks

获取全部水印 key:watermarkPath value:水印图片路径 key:watermarkCoordX value:x值 key:watermarkCoordY value:y值 key:watermarkWidth value:width值

Returns
全部水印配置数组

◆ getPushResolution

- (CGSize) getPushResolution

获取推流宽高具体数值

Returns
推流宽高Rect

◆ initWithResolution:

- (instancetype) initWithResolution: (AlivcLivePushResolution)  resolution

init 分辨率 其余值为默认值

Parameters
resolution推流分辨率
Returns
self

◆ removeWatermarkWithPath:

- (void) removeWatermarkWithPath: (NSString *)  ALIVCLIVEPUSH_DEPRECAETD_WATERMARK_API

移除水印

Parameters
path水印路径

Property Documentation

◆ audioBitrate

- (int) audioBitrate
readwritenonatomicassign

音频编码码率 default : 64

Note
范围 : [10,1000], 单位 : Kbps
互动模式下如果设置了AlivcLivePushAudioChannel_2 双声道,建议audioBitrate设置128

◆ audioChannel

- (AlivcLivePushAudioChannel) audioChannel
readwritenonatomicassign

声道数 default : AlivcLivePushAudioChannel_1 单声道

Note
互动模式下如果设置了AlivcLivePushAudioChannel_2 双声道,建议audioBitrate设置128

◆ audioEncoderCodec

- (AlivcLivePushAudioEncoderCodec) audioEncoderCodec
readwritenonatomicassign

音频编码器类型 default : AlivcLivePushAudioEncoderCodecOpus

Note
该配置参数只在互动模式(直播连麦或PK)下生效,基础模式只支持音频AAC编码;互动模式默认是Opus编码,可以通过设置audioEncoderCodec切换成AAC编码

◆ audioEncoderMode

- (AlivcLivePushAudioEncoderMode) audioEncoderMode
readwritenonatomicassign

音频编码模式 default : AlivcLivePushAudioEncoderModeSoft

◆ audioEncoderProfile

- (AlivcLivePushAudioEncoderProfile) audioEncoderProfile
readwritenonatomicassign

音频编码格式 default : AlivcLivePushAudioEncoderProfile_AAC_LC

◆ audioFromExternal

- (BOOL) audioFromExternal
readwritenonatomicassign

外部自定义数据是否包含音频 default: YES

Note
在ios录屏推流中,可以将audioFromExtern设置成NO,这样音频由sdk负责,视频由插件负责 当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置audioFromExternal,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流

◆ audioOnly

- (bool) audioOnly
readwritenonatomicassign

纯音频推流 default : false

◆ audioSampleRate

- (AlivcLivePushAudioSampleRate) audioSampleRate
readwritenonatomicassign

音频采样率 default : AlivcLivePushAudioSampleRate48000

◆ audioScene

- (AlivcLivePusherAudioScenario) audioScene
readwritenonatomicassign

音频应用场景 default:AlivcLivePusherAudioScenarioMusicMode 默认自适应音乐模式

◆ audioSessionOperationRestriction

- (AlivcLivePusherAudioSessionOperationRestriction) audioSessionOperationRestriction
readwritenonatomicassign

设置SDK对AVAudioSession的控制权限 default : AlivcLivePusherAudioSessionOperationRestrictionNone

◆ autoFocus

- (bool) autoFocus
readwritenonatomicassign

自动聚焦 default : true

◆ businessInfo

- (NSDictionary*) businessInfo
readwritenonatomiccopy

业务信息

◆ cameraType

- (AlivcLivePushCameraType) cameraType
readwritenonatomicassign

摄像头类型 default : AlivcLivePushCameraTypeFront

◆ connectRetryCount

- (int) connectRetryCount
readwritenonatomicassign

重连次数 default : 5

Note
范围 : [0,100]

◆ connectRetryInterval

- (float) connectRetryInterval
readwritenonatomicassign

重连时长 default : 1000

Note
范围 : (0,10000], 单位 : ms

◆ enableAutoBitrate

- (bool) enableAutoBitrate
readwritenonatomicassign

是否打开码率自适应 default : true

◆ enableAutoResolution

- (bool) enableAutoResolution
readwritenonatomicassign

是否打开分辨率自适应 (动态分辨率) default : false

Note
qualityMode在custom模式下,分辨率自适应无效

◆ enableDataChannelMessage

- (BOOL) enableDataChannelMessage
readwritenonatomicassign

打开数据通道收到自定义消息 default : false

◆ enableExternSampleBufferSize

- (BOOL) enableExternSampleBufferSize
readwritenonatomicassign

外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供通用的长宽比, 为了避免图像被裁剪,开启enableExternSampleBufferSize开关,SDK将使用sampleBufferSize 输入的分辨率为目标分辨率

Note
仅用于外部自定义数据推流,并且输入的视频不是通用长宽比,避免图像被裁剪,例如在ios录屏推流中可使用 default:NO
当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置sampleBufferSize,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流

◆ enableHDPreview

- (BOOL) enableHDPreview
readwritenonatomicassign

是否开启高清预览 (高清预览模式下,调整推流分辨率不重启采集) default : true

◆ enableLocalVideoRawBuffer

- (BOOL) enableLocalVideoRawBuffer
readwritenonatomicassign

互动模式下enableLocalVideoTexture指定纹理回调后,可以设置enableLocalVideoRawBuffer打开视频裸数据的回调,格式是I420

◆ enableLocalVideoTexture

- (BOOL) enableLocalVideoTexture
readwritenonatomicassign

互动模式下默认回调pixbuffer,通过enableLocalVideoTexture可以指定纹理回调

◆ enableNarrowbandAndHDForScreenPusher

- (bool) enableNarrowbandAndHDForScreenPusher
readwritenonatomicassign

是否在抓屏推流场景下打开窄带高清(更低的带宽,更高的清晰度)开关 default : true

◆ enableRemoteVideoFrameObserver

- (BOOL) enableRemoteVideoFrameObserver
readwritenonatomicassign

远端视频裸数据回调开关(互动模式下有效) default : false

Note
如果此开关打开,则可在AliLivePlayerDelegate->onRemoteVideoSample中回调远端视频裸数据

◆ enableRTSForInteractiveMode

- (BOOL) enableRTSForInteractiveMode
readwritenonatomicassign

互动模式下开启RTS推拉裸流(直推&直拉,不同于直播连麦)

◆ enableVideoCodecDowngrade

- (bool) enableVideoCodecDowngrade
readwritenonatomicassign

允许视频编码自动降级

当设置HEVC硬件编码但当前设备不支持时,SDK会自动降级成H264,此开关可以控制SDK不自动降级成H264 default:true,允许自动降级

◆ externAudioFormat

- (AlivcLivePushAudioFormat) externAudioFormat
readwritenonatomicassign

外部自定义音频数据 default : unknown

◆ externMainStream

- (bool) externMainStream
readwritenonatomicassign

是否外部自定义数据推流 default : false

◆ externVideoFormat

- (AlivcLivePushVideoFormat) externVideoFormat
readwritenonatomicassign

外部自定义视频数据 default : unknown

◆ extras

- (NSDictionary*) extras
readwritenonatomiccopy

直播连麦场景透传RTC extra信息字段

◆ flash

- (bool) flash
readwritenonatomicassign

是否开启闪光灯 default : false

◆ fps

- (AlivcLivePushFPS) fps
readwritenonatomicassign

视频采集帧率 defalut : AlivcLivePushFPS20

Note
: Frames per Second

◆ h5CompatibleMode

- (BOOL) h5CompatibleMode
readwritenonatomicassign

设置H5兼容模式

互动模式下,是否需要与Web 连麦互通,则必须使用H5兼容模式,否则,Web用户查看Native用户将是黑屏。

Parameters
h5CompatibleMode
  • YES: 兼容H5。
  • NO: 传统模式,不兼容H5。 default : false
Note
不支持在创建AlivcLivePusher实例之后更改H5兼容模式,必须在创建实例之前就调用此方法。

◆ initialVideoBitrate

- (int) initialVideoBitrate
readwritenonatomicassign

初始视频编码码率 default : 800

Note
范围 : [100,5000], 单位 : Kbps

◆ livePushMode

- (AlivcLivePushMode) livePushMode
readwritenonatomicassign

直播SDK推流模式

SDK 的工作模式,SDK提供基础模式和互动模式 基础模式不支持连麦、PK等实时互动需求,常规的RTMP推流、RTS推流使用次模式即可 互动模式,支持连麦、PK等实时互动,如果一场直播有互动需求,建议使用该模式 default:AlivcLivePushBasicMode

◆ macroFocus

- (bool) macroFocus
readwritenonatomicassign

微距对焦,适用多个摄像头的高端机型,近距离拍摄对焦 default : false

◆ minFps

- (AlivcLivePushFPS) minFps
readwritenonatomicassign

最小视频采集帧率 default : AlivcLivePushFPS8

Note
不可大于 视频采集帧率fps

◆ minVideoBitrate

- (int) minVideoBitrate
readwritenonatomicassign

最小视频编码码率 default : 200

Note
范围 : [100,5000], 单位 : Kbps

◆ monitorLevel

- (AlivcLivePushMonitorLevel) monitorLevel
readwritenonatomicassign

SDK质量监控等级,针对嵌入式场景,可以指定精简的监控信息

◆ networkPoorImg

- (UIImage*) networkPoorImg
readwritenonatomicretain

码率低图片

◆ openBFrame

- (bool) openBFrame
readwritenonatomicassign

视频硬编模式下是否开启B帧 default:NO

◆ orientation

- (AlivcLivePushOrientation) orientation
readwritenonatomicassign

推流方向 : 竖屏、90度横屏、270度横屏 default : AlivcLivePushOrientationPortrait

◆ pauseImg

- (UIImage*) pauseImg
readwritenonatomicretain

暂停推流图片

◆ previewDisplayMode

- (AlivcPusherPreviewDisplayMode) previewDisplayMode
readwritenonatomicassign

预览显示模式 default : ALIVC_LIVE_PUSHER_PREVIEW_ASPECT_FILL

◆ previewMirror

- (bool) previewMirror
readwritenonatomicassign

预览镜像 default : true 前置摄像头默认预览镜像,后置摄像头预览不镜像

◆ pushMirror

- (bool) pushMirror
readwritenonatomicassign

推流镜像 default : false 关闭镜像

◆ qualityMode

- (AlivcLivePushQualityMode) qualityMode
readwritenonatomicassign

直播推流SDK工作模式

选择 ResolutionFirst 模式时,SDK内部会优先保障推流视频的清晰度; 选择 FluencyFirst 模式时,SDK内部会优先保障推流视频的流畅度; 以上两种模式下,所有码率与帧率的设置均不生效,SDK会根据您设置的分辨率做出默认设置。 选择 Custom 模式时,SDK会根据您自定义设置的帧率与码率进行推流。 default:AlivcLivePushQualityModeResolutionFirst

◆ requireGLSharedContext

- (BOOL) requireGLSharedContext
readwritenonatomicassign

开启 openGL Shared Context 模式 default : false

◆ resolution

- (AlivcLivePushResolution) resolution
readwritenonatomicassign

推流分辨率设置分辨率 default : AlivcLivePushDefinition540P

◆ sampleBufferSize

- (CGSize) sampleBufferSize
readwritenonatomicassign

外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供的通用长宽比,为了避免图像被裁剪,可以指定输入视频的长宽比为输出视频的长宽比

Note
该字段可以用在ios屏幕推流中,只有enableExternBufferSize设置为YES后,才将sampleBufferSize作为目标分辨率 当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置sampleBufferSize,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流

◆ sendDataTimeout

- (int) sendDataTimeout
readwritenonatomicassign

网络发送数据超时 default : 3000

Note
单位 : ms

◆ targetVideoBitrate

- (int) targetVideoBitrate
readwritenonatomicassign

目标视频编码码率 default : 800

Note
范围 : [100,5000], 单位 : Kbps

◆ useAliyunPlayerForBGM

- (bool) useAliyunPlayerForBGM
readwritenonatomicassign

设置背景音乐使用阿里云播放器来播放,默认使用内置播放 内置播放支持大部分场景,若有需要特别的格式,可以切换至阿里云播放器,需要app添加阿里云播放器5.4.1及以上版本的依赖 default:false

◆ userName

- (NSString*) userName
readwritenonatomiccopy

用户名

◆ videoEncodeGop

- (AlivcLivePushVideoEncodeGOP) videoEncodeGop
readwritenonatomicassign

关键帧间隔 default : AlivcLivePushVideoEncodeGOP_2

Note
单位 : s

◆ videoEncoderMode

- (AlivcLivePushVideoEncoderMode) videoEncoderMode
readwritenonatomicassign

视频编码模式 default : AlivcLivePushVideoEncoderModeHard

◆ videoHardEncoderCodec

- (AlivcLivePushVideoEncoderModeHardCodec) videoHardEncoderCodec
readwritenonatomicassign

视频硬编码方式

(当videoEncoderMode设置为AlivcLivePushVideoEncoderModeHard时,有两种可选的视频硬件编码方式:H264和HEVC(H265)) default:AlivcLivePushVideoEncoderModeHardCodecH264,使用H264进行硬件编码

◆ videoOnly

- (bool) videoOnly
readwritenonatomicassign

纯视频推流,只有RTMP推流才支持纯视频推流,当前RTC不支持纯视频推流 default : false

Note
: 与 audioOnly互斥, 当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置videoOnly,AlivcLivePushInteractiveMode模式下暂时不支持纯视频推流

The documentation for this class was generated from the following file: