![]() |
AlivcLivePusher_Interactive v6.17.0
Aliyun Live Pusher Interactive SDK API Reference Manual for iOS Platforms
|
直播推流参数配置类 More...
#include "AlivcLivePushConfig.h"
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 | |
直播推流参数配置类
- (void) addWatermarkWithPath: | (NSString *) | path | |
watermarkCoordX: | (CGFloat) | coordX | |
watermarkCoordY: | (CGFloat) | coordY | |
watermarkWidth: | (CGFloat) | ALIVCLIVEPUSH_DEPRECAETD_WATERMARK_API | |
添加水印 最多支持3个水印
addWatermarkWithPath | 水印路径 |
watermarkCoordX | 水印左上顶点x的相对坐标 [0,1] |
watermarkCoordY | 水印左上顶点y的相对坐标 [0,1] |
watermarkWidth | 水印的相对宽度 (水印会根据水印图片实际大小和水印宽度等比缩放) (0,1] |
- (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 |
音频编码码率 default : 64
|
readwritenonatomicassign |
声道数 default : AlivcLivePushAudioChannel_1 单声道
|
readwritenonatomicassign |
音频编码器类型 default : AlivcLivePushAudioEncoderCodecOpus
|
readwritenonatomicassign |
音频编码模式 default : AlivcLivePushAudioEncoderModeSoft
|
readwritenonatomicassign |
音频编码格式 default : AlivcLivePushAudioEncoderProfile_AAC_LC
|
readwritenonatomicassign |
外部自定义数据是否包含音频 default: YES
|
readwritenonatomicassign |
纯音频推流 default : false
|
readwritenonatomicassign |
音频采样率 default : AlivcLivePushAudioSampleRate48000
|
readwritenonatomicassign |
音频应用场景 default:AlivcLivePusherAudioScenarioMusicMode 默认自适应音乐模式
|
readwritenonatomicassign |
设置SDK对AVAudioSession的控制权限 default : AlivcLivePusherAudioSessionOperationRestrictionNone
|
readwritenonatomicassign |
自动聚焦 default : true
|
readwritenonatomiccopy |
业务信息
|
readwritenonatomicassign |
摄像头类型 default : AlivcLivePushCameraTypeFront
|
readwritenonatomicassign |
重连次数 default : 5
|
readwritenonatomicassign |
重连时长 default : 1000
|
readwritenonatomicassign |
是否打开码率自适应 default : true
|
readwritenonatomicassign |
是否打开分辨率自适应 (动态分辨率) default : false
|
readwritenonatomicassign |
打开数据通道收到自定义消息 default : false
|
readwritenonatomicassign |
外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供通用的长宽比, 为了避免图像被裁剪,开启enableExternSampleBufferSize开关,SDK将使用sampleBufferSize 输入的分辨率为目标分辨率
|
readwritenonatomicassign |
是否开启高清预览 (高清预览模式下,调整推流分辨率不重启采集) default : true
|
readwritenonatomicassign |
互动模式下enableLocalVideoTexture指定纹理回调后,可以设置enableLocalVideoRawBuffer打开视频裸数据的回调,格式是I420
|
readwritenonatomicassign |
互动模式下默认回调pixbuffer,通过enableLocalVideoTexture可以指定纹理回调
|
readwritenonatomicassign |
是否在抓屏推流场景下打开窄带高清(更低的带宽,更高的清晰度)开关 default : true
|
readwritenonatomicassign |
远端视频裸数据回调开关(互动模式下有效) default : false
|
readwritenonatomicassign |
互动模式下开启RTS推拉裸流(直推&直拉,不同于直播连麦)
|
readwritenonatomicassign |
允许视频编码自动降级
当设置HEVC硬件编码但当前设备不支持时,SDK会自动降级成H264,此开关可以控制SDK不自动降级成H264 default:true,允许自动降级
|
readwritenonatomicassign |
外部自定义音频数据 default : unknown
|
readwritenonatomicassign |
是否外部自定义数据推流 default : false
|
readwritenonatomicassign |
外部自定义视频数据 default : unknown
|
readwritenonatomiccopy |
直播连麦场景透传RTC extra信息字段
|
readwritenonatomicassign |
是否开启闪光灯 default : false
|
readwritenonatomicassign |
视频采集帧率 defalut : AlivcLivePushFPS20
|
readwritenonatomicassign |
设置H5兼容模式
互动模式下,是否需要与Web 连麦互通,则必须使用H5兼容模式,否则,Web用户查看Native用户将是黑屏。
h5CompatibleMode |
|
|
readwritenonatomicassign |
初始视频编码码率 default : 800
|
readwritenonatomicassign |
直播SDK推流模式
SDK 的工作模式,SDK提供基础模式和互动模式 基础模式不支持连麦、PK等实时互动需求,常规的RTMP推流、RTS推流使用次模式即可 互动模式,支持连麦、PK等实时互动,如果一场直播有互动需求,建议使用该模式 default:AlivcLivePushBasicMode
|
readwritenonatomicassign |
微距对焦,适用多个摄像头的高端机型,近距离拍摄对焦 default : false
|
readwritenonatomicassign |
最小视频采集帧率 default : AlivcLivePushFPS8
|
readwritenonatomicassign |
最小视频编码码率 default : 200
|
readwritenonatomicassign |
SDK质量监控等级,针对嵌入式场景,可以指定精简的监控信息
|
readwritenonatomicretain |
码率低图片
|
readwritenonatomicassign |
视频硬编模式下是否开启B帧 default:NO
|
readwritenonatomicassign |
推流方向 : 竖屏、90度横屏、270度横屏 default : AlivcLivePushOrientationPortrait
|
readwritenonatomicretain |
暂停推流图片
|
readwritenonatomicassign |
预览显示模式 default : ALIVC_LIVE_PUSHER_PREVIEW_ASPECT_FILL
|
readwritenonatomicassign |
预览镜像 default : true 前置摄像头默认预览镜像,后置摄像头预览不镜像
|
readwritenonatomicassign |
推流镜像 default : false 关闭镜像
|
readwritenonatomicassign |
直播推流SDK工作模式
选择 ResolutionFirst 模式时,SDK内部会优先保障推流视频的清晰度; 选择 FluencyFirst 模式时,SDK内部会优先保障推流视频的流畅度; 以上两种模式下,所有码率与帧率的设置均不生效,SDK会根据您设置的分辨率做出默认设置。 选择 Custom 模式时,SDK会根据您自定义设置的帧率与码率进行推流。 default:AlivcLivePushQualityModeResolutionFirst
|
readwritenonatomicassign |
开启 openGL Shared Context 模式 default : false
|
readwritenonatomicassign |
推流分辨率设置分辨率 default : AlivcLivePushDefinition540P
|
readwritenonatomicassign |
外部自定义数据时,针对不包含在AlivcLivePushResolution枚举中提供的通用长宽比,为了避免图像被裁剪,可以指定输入视频的长宽比为输出视频的长宽比
|
readwritenonatomicassign |
网络发送数据超时 default : 3000
|
readwritenonatomicassign |
目标视频编码码率 default : 800
|
readwritenonatomicassign |
设置背景音乐使用阿里云播放器来播放,默认使用内置播放 内置播放支持大部分场景,若有需要特别的格式,可以切换至阿里云播放器,需要app添加阿里云播放器5.4.1及以上版本的依赖 default:false
|
readwritenonatomiccopy |
用户名
|
readwritenonatomicassign |
关键帧间隔 default : AlivcLivePushVideoEncodeGOP_2
|
readwritenonatomicassign |
视频编码模式 default : AlivcLivePushVideoEncoderModeHard
|
readwritenonatomicassign |
视频硬编码方式
(当videoEncoderMode设置为AlivcLivePushVideoEncoderModeHard时,有两种可选的视频硬件编码方式:H264和HEVC(H265)) default:AlivcLivePushVideoEncoderModeHardCodecH264,使用H264进行硬件编码
|
readwritenonatomicassign |
纯视频推流,只有RTMP推流才支持纯视频推流,当前RTC不支持纯视频推流 default : false