AlivcLivePusher  v4.5.1
Aliyun Live Pusher API Reference Manual for iOS Platforms
AlivcLivePushConfig Class Reference

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

Inheritance diagram for AlivcLivePushConfig:

Instance Methods

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

Properties

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

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

◆ audioChannel

- (AlivcLivePushAudioChannel) audioChannel
readwritenonatomicassign

声道数 default : AlivcLivePushAudioChannel_1 单声道

◆ 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:AlivcLivePusherAudioScenarioDefaultMode 默认模式

◆ 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模式下,分辨率自适应无效

◆ enableExternSampleBufferSize

- (BOOL) enableExternSampleBufferSize
readwritenonatomicassign

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

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

◆ enableNarrowbandAndHDForScreenPusher

- (bool) enableNarrowbandAndHDForScreenPusher
readwritenonatomicassign

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

◆ externAudioFormat

- (AlivcLivePushAudioFormat) externAudioFormat
readwritenonatomicassign

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

◆ externMainStream

- (bool) externMainStream
readwritenonatomicassign

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

Note
当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externMainStream,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流

◆ externVideoFormat

- (AlivcLivePushVideoFormat) externVideoFormat
readwritenonatomicassign

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

◆ flash

- (bool) flash
readwritenonatomicassign

是否开启闪光灯 default : false

◆ fps

- (AlivcLivePushFPS) fps
readwritenonatomicassign

视频采集帧率 defalut : AlivcLivePushFPS20

Note
: Frames per Second

◆ initialVideoBitrate

- (int) initialVideoBitrate
readwritenonatomicassign

初始视频编码码率 default : 800

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

◆ livePushMode

- (AlivcLivePushMode) livePushMode
readwritenonatomicassign

直播SDK推流模式

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

◆ 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_FIT

◆ previewMirror

- (bool) previewMirror
readwritenonatomicassign

预览镜像 default : false 关闭镜像

◆ 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

◆ 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: