![]() |
AlivcLivePusher
4.4.6
Aliyun Live Pusher API Reference Manual for iOS Platforms
|
推流配置类 More...
Instance Methods | |
(void) | - addWatermarkWithPath:watermarkCoordX:watermarkCoordY:watermarkWidth: |
添加水印 最多支持3个水印 More... | |
(NSArray< NSDictionary * > *) | - getAllWatermarks |
获取全部水印 More... | |
(CGSize) | - getPushResolution |
获取推流宽高具体数值 More... | |
(instancetype) | - initWithResolution: |
init 分辨率 其余值为默认值 More... | |
(void) | - removeWatermarkWithPath: |
移除水印 More... | |
Properties | |
int | audioBitrate |
音频编码码率 默认 : 64 范围 : [10,1000] 单位 : Kbps More... | |
AlivcLivePushAudioChannel | audioChannel |
声道数 默认 : AlivcLivePushAudioChannel_1 单声道 More... | |
AlivcLivePushAudioEncoderMode | audioEncoderMode |
音频编码模式 默认 : AlivcLivePushAudioEncoderModeSoft More... | |
AlivcLivePushAudioEncoderProfile | audioEncoderProfile |
音频编码格式 默认 : AlivcLivePushAudioEncoderProfile_AAC_LC More... | |
BOOL | audioFromExternal |
外部自定义数据是否包含音频 默认 : YES 注:在ios录屏推流中,可以将audioFromExtern设置成NO,这样音频由sdk负责,视频由插件负责 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置audioFromExternal,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流 More... | |
bool | audioOnly |
纯音频推流,只有RTMP推流才支持纯音频推流,当前RTC不支持纯音频推流 默认 : false 注 : 与 videoOnly互斥 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置audioOnly,AlivcLivePushInteractiveMode模式下暂时不支持纯音频推流 More... | |
AlivcLivePushAudioSampleRate | audioSampleRate |
音频采样率 默认 : AlivcLivePushAudioSampleRate48000 More... | |
AlivcLivePusherAudioScenario | audioScene |
音频应用场景 默认:AlivcLivePusherAudioScenarioDefaultMode 默认模式 More... | |
AlivcLivePusherAudioSessionOperationRestriction | audioSessionOperationRestriction |
设置SDK对AVAudioSession的控制权限 默认: AlivcLivePusherAudioSessionOperationRestrictionNone More... | |
bool | autoFocus |
自动聚焦 默认 : true More... | |
NSDictionary * | businessInfo |
业务信息 More... | |
AlivcLivePushCameraType | cameraType |
摄像头类型 默认 : AlivcLivePushCameraTypeFront More... | |
int | connectRetryCount |
重连次数 默认 : 5 范围 : [0,100] More... | |
float | connectRetryInterval |
重连时长 默认 : 1000 范围 : (0,10000] 单位 : ms More... | |
bool | enableAutoBitrate |
是否打开码率自适应 默认 : true More... | |
bool | enableAutoResolution |
是否打开分辨率自适应 (动态分辨率) 默认 : false 注 : qualityMode在custom模式下,分辨率自适应无效 More... | |
BOOL | enableExternSampleBufferSize |
外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供通用的长宽比,为了避免图像被裁剪,开启enableExternSampleBufferSize开关,SDK将使用sampleBufferSize 输入的分辨率为目标分辨率 注:仅用于外部自定义数据推流,并且输入的视频不是通用长宽比,避免图像被裁剪,例如在ios录屏推流中可使用 默认值:NO 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置sampleBufferSize,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流 More... | |
bool | enableNarrowbandAndHDForScreenPusher |
是否在抓屏推流场景下打开窄带高清(更低的带宽,更高的清晰度)开关 默认 : true More... | |
AlivcLivePushAudioFormat | externAudioFormat |
外部自定义音频数据 默认 : unknown 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externAudioFormat,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流 More... | |
bool | externMainStream |
是否外部自定义数据推流 默认 : false 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externMainStream,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流 More... | |
AlivcLivePushVideoFormat | externVideoFormat |
外部自定义视频数据 默认 : unknown 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externVideoFormat,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流 More... | |
bool | flash |
是否开启闪光灯 默认 : false More... | |
AlivcLivePushFPS | fps |
视频采集帧率 默认 : AlivcLivePushFPS20 单位 : Frames per Second More... | |
int | initialVideoBitrate |
初始视频编码码率 默认 : 800 范围 : [100,5000] 单位 : Kbps More... | |
AlivcLivePushMode | livePushMode |
默认:AlivcLivePushBasicMode 基础模式 SDK 的工作模式,SDK提供基础模式和互动模式 基础模式不支持连麦、PK等实时互动需求,常规的RTMP推流、RTS推流使用次模式即可 互动模式,支持连麦、PK等实时互动,如果一场直播有互动需求,建议使用该模式 More... | |
AlivcLivePushFPS | minFps |
最小视频采集帧率 默认 : AlivcLivePushFPS8 单位 : Frames per Second 不可大于 视频采集帧率fps More... | |
int | minVideoBitrate |
最小视频编码码率 默认 : 200 范围 : [100,5000] 单位 : Kbps More... | |
AlivcLivePushMonitorLevel | monitorLevel |
SDK质量监控等级,针对嵌入式场景,可以指定精简的监控信息 More... | |
UIImage * | networkPoorImg |
码率低图片 More... | |
bool | openBFrame |
视频硬编模式下是否开启B帧 默认:NO More... | |
AlivcLivePushOrientation | orientation |
推流方向 : 竖屏、90度横屏、270度横屏 默认 : AlivcLivePushOrientationPortrait More... | |
UIImage * | pauseImg |
暂停推流图片 More... | |
AlivcPusherPreviewDisplayMode | previewDisplayMode |
预览显示模式 默认 : fit More... | |
bool | previewMirror |
预览镜像 默认 : false 关闭镜像 More... | |
bool | pushMirror |
推流镜像 默认 : false 关闭镜像 More... | |
AlivcLivePushQualityMode | qualityMode |
推流模式 默认 : AlivcLivePushQualityModeResolutionFirst 清晰度优先 描述 : 选择 ResolutionFirst 模式时,SDK内部会优先保障推流视频的清晰度; 选择 FluencyFirst 模式时,SDK内部会优先保障推流视频的流畅度; 以上两种模式下,所有码率与帧率的设置均不生效,SDK会根据您设置的分辨率做出默认设置。 选择 Custom 模式时,SDK会根据您自定义设置的帧率与码率进行推流。 More... | |
BOOL | requireGLSharedContext |
开启 openGL Shared Context 模式 默认 : false More... | |
AlivcLivePushResolution | resolution |
分辨率 默认 : AlivcLivePushDefinition540P More... | |
CGSize | sampleBufferSize |
外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供的通用长宽比,为了避免图像被裁剪,可以指定输入视频的长宽比为输出视频的长宽比 注:该字段可以用在ios屏幕推流中,只有enableExternBufferSize设置为YES后,才将sampleBufferSize作为目标分辨率 当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置sampleBufferSize,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流 More... | |
int | sendDataTimeout |
网络发送数据超时 默认 : 3000 单位 : ms More... | |
int | targetVideoBitrate |
目标视频编码码率 默认 : 800 范围 : [100,5000] 单位 : Kbps More... | |
bool | useAliyunPlayerForBGM |
设置背景音乐使用阿里云播放器来播放,默认使用内置播放 内置播放支持大部分场景,若有需要特别的格式,可以切换至阿里云播放器,需要app添加阿里云播放器5.4.1及以上版本的依赖 默认:false More... | |
AlivcLivePushVideoEncodeGOP | videoEncodeGop |
关键帧间隔 默认 : AlivcLivePushVideoEncodeGOP_2 单位 : s More... | |
AlivcLivePushVideoEncoderMode | videoEncoderMode |
视频编码模式 默认 : AlivcLivePushVideoEncoderModeHard More... | |
AlivcLivePushVideoEncoderModeHardCodec | videoHardEncoderCodec |
视频硬编码方式 (当videoEncoderMode设置为AlivcLivePushVideoEncoderModeHard时,有两种可选的视频硬件编码方式:H264和HEVC(H265)) 默认:AlivcLivePushVideoEncoderModeHardCodecH264,使用H264进行硬件编码 More... | |
bool | videoOnly |
纯视频推流,只有RTMP推流才支持纯视频推流,当前RTC不支持纯视频推流 默认 : false 注 : 与 audioOnly互斥 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置videoOnly,AlivcLivePushInteractiveMode模式下暂时不支持纯视频推流 More... | |
推流配置类
- (void) addWatermarkWithPath: | (NSString *) | path | |
watermarkCoordX: | (CGFloat) | coordX | |
watermarkCoordY: | (CGFloat) | coordY | |
watermarkWidth: | (CGFloat) | ALIVCLIVEPUSH_DEPRECAETD_WATERMARK_API | |
添加水印 最多支持3个水印
path | 水印路径 |
coordX | 水印左上顶点x的相对坐标 [0,1] |
coordY | 水印左上顶点y的相对坐标 [0,1] |
width | 水印的相对宽度 (水印会根据水印图片实际大小和水印宽度等比缩放) (0,1] 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置水印相关接口,AlivcLivePushInteractiveMode模式下暂时不支持设置水印 |
- (NSArray<NSDictionary *> *) getAllWatermarks |
获取全部水印
key:watermarkPath value:水印图片路径 key:watermarkCoordX value:x值 key:watermarkCoordY value:y值 key:watermarkWidth value:width值
- (CGSize) getPushResolution |
获取推流宽高具体数值
- (instancetype) initWithResolution: | (AlivcLivePushResolution) | resolution |
init 分辨率 其余值为默认值
resolution | 推流分辨率 |
- (void) removeWatermarkWithPath: | (NSString *) | ALIVCLIVEPUSH_DEPRECAETD_WATERMARK_API |
移除水印
path | 水印路径 |
|
readwritenonatomicassign |
音频编码码率 默认 : 64 范围 : [10,1000] 单位 : Kbps
|
readwritenonatomicassign |
声道数 默认 : AlivcLivePushAudioChannel_1 单声道
|
readwritenonatomicassign |
音频编码模式 默认 : AlivcLivePushAudioEncoderModeSoft
|
readwritenonatomicassign |
音频编码格式 默认 : AlivcLivePushAudioEncoderProfile_AAC_LC
|
readwritenonatomicassign |
外部自定义数据是否包含音频 默认 : YES 注:在ios录屏推流中,可以将audioFromExtern设置成NO,这样音频由sdk负责,视频由插件负责 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置audioFromExternal,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流
|
readwritenonatomicassign |
纯音频推流,只有RTMP推流才支持纯音频推流,当前RTC不支持纯音频推流 默认 : false 注 : 与 videoOnly互斥 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置audioOnly,AlivcLivePushInteractiveMode模式下暂时不支持纯音频推流
|
readwritenonatomicassign |
音频采样率 默认 : AlivcLivePushAudioSampleRate48000
|
readwritenonatomicassign |
音频应用场景 默认:AlivcLivePusherAudioScenarioDefaultMode 默认模式
|
readwritenonatomicassign |
设置SDK对AVAudioSession的控制权限 默认: AlivcLivePusherAudioSessionOperationRestrictionNone
|
readwritenonatomicassign |
自动聚焦 默认 : true
|
readwritenonatomiccopy |
业务信息
|
readwritenonatomicassign |
摄像头类型 默认 : AlivcLivePushCameraTypeFront
|
readwritenonatomicassign |
重连次数 默认 : 5 范围 : [0,100]
|
readwritenonatomicassign |
重连时长 默认 : 1000 范围 : (0,10000] 单位 : ms
|
readwritenonatomicassign |
是否打开码率自适应 默认 : true
|
readwritenonatomicassign |
是否打开分辨率自适应 (动态分辨率) 默认 : false 注 : qualityMode在custom模式下,分辨率自适应无效
|
readwritenonatomicassign |
外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供通用的长宽比,为了避免图像被裁剪,开启enableExternSampleBufferSize开关,SDK将使用sampleBufferSize 输入的分辨率为目标分辨率 注:仅用于外部自定义数据推流,并且输入的视频不是通用长宽比,避免图像被裁剪,例如在ios录屏推流中可使用 默认值:NO 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置sampleBufferSize,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流
|
readwritenonatomicassign |
是否在抓屏推流场景下打开窄带高清(更低的带宽,更高的清晰度)开关 默认 : true
|
readwritenonatomicassign |
外部自定义音频数据 默认 : unknown 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externAudioFormat,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流
|
readwritenonatomicassign |
是否外部自定义数据推流 默认 : false 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externMainStream,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流
|
readwritenonatomicassign |
外部自定义视频数据 默认 : unknown 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置externVideoFormat,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流
|
readwritenonatomicassign |
是否开启闪光灯 默认 : false
|
readwritenonatomicassign |
视频采集帧率 默认 : AlivcLivePushFPS20 单位 : Frames per Second
|
readwritenonatomicassign |
初始视频编码码率 默认 : 800 范围 : [100,5000] 单位 : Kbps
|
readwritenonatomicassign |
默认:AlivcLivePushBasicMode 基础模式 SDK 的工作模式,SDK提供基础模式和互动模式 基础模式不支持连麦、PK等实时互动需求,常规的RTMP推流、RTS推流使用次模式即可 互动模式,支持连麦、PK等实时互动,如果一场直播有互动需求,建议使用该模式
|
readwritenonatomicassign |
最小视频采集帧率 默认 : AlivcLivePushFPS8 单位 : Frames per Second 不可大于 视频采集帧率fps
|
readwritenonatomicassign |
最小视频编码码率 默认 : 200 范围 : [100,5000] 单位 : Kbps
|
readwritenonatomicassign |
SDK质量监控等级,针对嵌入式场景,可以指定精简的监控信息
|
readwritenonatomicretain |
码率低图片
|
readwritenonatomicassign |
视频硬编模式下是否开启B帧 默认:NO
|
readwritenonatomicassign |
推流方向 : 竖屏、90度横屏、270度横屏 默认 : AlivcLivePushOrientationPortrait
|
readwritenonatomicretain |
暂停推流图片
|
readwritenonatomicassign |
预览显示模式 默认 : fit
|
readwritenonatomicassign |
预览镜像 默认 : false 关闭镜像
|
readwritenonatomicassign |
推流镜像 默认 : false 关闭镜像
|
readwritenonatomicassign |
推流模式 默认 : AlivcLivePushQualityModeResolutionFirst 清晰度优先 描述 : 选择 ResolutionFirst 模式时,SDK内部会优先保障推流视频的清晰度; 选择 FluencyFirst 模式时,SDK内部会优先保障推流视频的流畅度; 以上两种模式下,所有码率与帧率的设置均不生效,SDK会根据您设置的分辨率做出默认设置。 选择 Custom 模式时,SDK会根据您自定义设置的帧率与码率进行推流。
|
readwritenonatomicassign |
开启 openGL Shared Context 模式 默认 : false
|
readwritenonatomicassign |
分辨率 默认 : AlivcLivePushDefinition540P
|
readwritenonatomicassign |
外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供的通用长宽比,为了避免图像被裁剪,可以指定输入视频的长宽比为输出视频的长宽比 注:该字段可以用在ios屏幕推流中,只有enableExternBufferSize设置为YES后,才将sampleBufferSize作为目标分辨率 当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置sampleBufferSize,AlivcLivePushInteractiveMode模式下暂时不支持外部音视频推流
|
readwritenonatomicassign |
网络发送数据超时 默认 : 3000 单位 : ms
|
readwritenonatomicassign |
目标视频编码码率 默认 : 800 范围 : [100,5000] 单位 : Kbps
|
readwritenonatomicassign |
设置背景音乐使用阿里云播放器来播放,默认使用内置播放 内置播放支持大部分场景,若有需要特别的格式,可以切换至阿里云播放器,需要app添加阿里云播放器5.4.1及以上版本的依赖 默认:false
|
readwritenonatomicassign |
关键帧间隔 默认 : AlivcLivePushVideoEncodeGOP_2 单位 : s
|
readwritenonatomicassign |
视频编码模式 默认 : AlivcLivePushVideoEncoderModeHard
|
readwritenonatomicassign |
视频硬编码方式 (当videoEncoderMode设置为AlivcLivePushVideoEncoderModeHard时,有两种可选的视频硬件编码方式:H264和HEVC(H265)) 默认:AlivcLivePushVideoEncoderModeHardCodecH264,使用H264进行硬件编码
|
readwritenonatomicassign |
纯视频推流,只有RTMP推流才支持纯视频推流,当前RTC不支持纯视频推流 默认 : false 注 : 与 audioOnly互斥 注:当前SDK暂时只支持在livePushMode = AlivcLivePushBasicMode 模式下 设置videoOnly,AlivcLivePushInteractiveMode模式下暂时不支持纯视频推流