本文介绍iOS端直播推流SDK相关接口说明。
基础类
API | 描述 | ||||||
AlivcLiveBase | 推流基础接口 | ||||||
AlivcLiveBaseObserver | 基础接口回调 | ||||||
AlivcLivePusher | 推流引擎类 | ||||||
AlivcLivePushConfig | 推流初始配置 | ||||||
AlivcLivePusherErrorDelegate | 推流错误相关回调 | ||||||
AlivcLivePusherNetworkDelegate | 推流网络相关回调 | ||||||
AlivcLivePusherInfoDelegate | 推流状态通知相关回调 | ||||||
AlivcLivePusherCustomFilterDelegate | 用户自定义滤镜(美颜处理裸数据)回调 | ||||||
AlivcLivePusherCustomDetectorDelegate | 用户自定义人脸识别回调 | ||||||
AlivcLivePusherBGMDelegate | 推流播放通知相关回调 | ||||||
AlivcLivePusherAudioSampleDelegate | 音频裸数据回调 | ||||||
AlivcLivePlayer | 互动直播模式下拉流类(直播连麦拉流功能类)引擎类 | ||||||
AlivcLivePlayConfig | 直播连麦播放初始配置 | ||||||
AliLivePlayerDelegate | 直播连麦播放回调 | ||||||
AlivcLivePlayerStatsInfo | 直播连麦播放相关媒体数据类 | ||||||
AlivcLiveTranscodingConfig | 云端混流(转码)配置 | ||||||
AlivcLiveMixStream | 云端混流(转码)中每一路子画面的位置信息 |
推流基础接口
AlivcLiveBase
API | 描述 | ||||||
getSDKVersion | 获取SDK版本号 | ||||||
registerSDK | SDK注册License | ||||||
setConsoleEnabled | 启用或禁用控制台日志打印 | ||||||
setObserver | 设置推流基础回调通知,用于异步接收License注册结果回调 | ||||||
setLogPath:maxPartFileSizeInKB | 设置日志路径及日志分片大小,确保路径存在,可写 | ||||||
setLogLevel | 设置日志级别,注意:开启全量ALL可能会增加APP性能消耗! |
推流引擎相关接口
AlivcLivePusher
API | 描述 | ||||||
initWithConfig | 创建一个推流引擎实例 | ||||||
setErrorDelegate | 设置推流错误监听回调 | ||||||
setInfoDelegate | 设置推流状态监听回调 | ||||||
setNetworkDelegate | 设置推流网络监听回调 | ||||||
setCustomFilterDelegate | 设置用户自定义滤镜(美颜处理裸数据)回调 | ||||||
setCustomDetectorDelegate | 用户自定义人脸识别回调 | ||||||
setBGMDelegate | 设置背景音乐监听回调 | ||||||
setAudioSampleDelegate | 设置音频裸数据回调 | ||||||
destory | 销毁推流引擎 | ||||||
startPreview | 开始预览 | ||||||
startPreviewAysnc | 异步开始预览,建议使用异步接口 | ||||||
stopPreview | 结束预览 | ||||||
startPushWithURL | 开始推流 | ||||||
startPushWithURLAsync | 异步开始推流,建议使用异步接口 | ||||||
stopPush | 结束推流 | ||||||
reconnectPushAsync | 重新连接进行推流(当回调onReconnectError重连失败时,可以使用该接口) | ||||||
pause | 暂停摄像头推流,如果pushCongfig中设置了pauseImg图片,将推设置的静态图片 | ||||||
resume | 恢复摄像头推流 | ||||||
resumeAsync | 异步恢复摄像头推流 | ||||||
switchCamera | 切换摄像头 | ||||||
setAutoFocus | 设置自动对焦 | ||||||
focusCameraAtAdjustedPoint:autoFocus | 对焦,对焦点的坐标x[0,屏幕宽度],y[0,屏幕宽度] | ||||||
setZoom | 设置缩放[0,getMaxZoom()] | ||||||
getMaxZoom | 获取摄像头支持的最大缩放值,0:不支持缩放;大于0:最大缩放值 | ||||||
getCurrentZoom | 获取当前缩放值 | ||||||
setFlash | 是否打开闪光灯 | ||||||
setExposure | 设置曝光度 | ||||||
getCurrentExposure | 获取采集曝光 | ||||||
getSupportedMinExposure | 获取采集支持最小曝光 | ||||||
getSupportedMaxExposure | 获取采集支持最大曝光 | ||||||
setPushMirror | 推流镜像开关 | ||||||
setPreviewMirror | 预览镜像开关 | ||||||
setTargetVideoBitrate | 设置目标视频码率[100,5000](Kbps) | ||||||
setMinVideoBitrate | 设置最小视频码率[100,5000](Kbps) | ||||||
setpreviewDisplayMode | 设置预览显示模式 | ||||||
setResolution | 设置分辨率,推流和预览都可以修改 | ||||||
setMute | 是否静音 | ||||||
setAudioEffectVoiceChangeMode | 设置变声音效模式 | ||||||
setAudioEffectReverbMode | 设置混响音效模式 | ||||||
startBGMWithMusicPathAsync | 播放背景音乐 | ||||||
stopBGMAsync | 停止播放背景音乐 | ||||||
pauseBGM | 暂停播放背景音乐 | ||||||
resumeBGM | 恢复播放背景音乐 | ||||||
setBGMLoop | 设置背景音乐是否循环播放 | ||||||
setBGMEarsBack | 设置耳返开关 | ||||||
setBGMVolume | 设置背景音乐混音音乐音量 | ||||||
setCaptureVolume | 设置背景音乐混音人声音量 | ||||||
setAudioDenoise | 设置音频降噪 | ||||||
startIntelligentDenoise | 开启音频智能降噪 | ||||||
stopIntelligentDenoise | 关闭音频智能降噪 | ||||||
startScreenCapture | 开始屏幕分享(互动模式下暂不支持屏幕分享) | ||||||
sendVideoData:width:height:size:pts:rotation | 发送自定义视频数据(外置视频裸数据) | ||||||
sendPCMData:size:sampleRate:channel:pts | 发送自定义音频数据(外置音频裸数据) | ||||||
sendMessage:repeatCount:delayTime:KeyFrameOnly | 推流端发送SEI自定义消息 | ||||||
addWatermarkWithPath:watermarkCoordX:watermarkCoordY:watermarkWidth | 添加水印,起点位置坐标x[0,width),y[0,height),宽度(0,width],最多添加3个,需在startPreview之后调用 | ||||||
setWatermarkVisible | 设置水印可见 | ||||||
snapshot:interval | 截图 | ||||||
setLiveMixTranscodingConfig | 设置云端的混流(转码)参数,互动模式下特定API | ||||||
muteLocalCamera | 关闭/打开视频(非互动模式暂不支持该API,调用无任何效果) | ||||||
enableSpeakerphone | 设置音频输出为听筒还是扬声器,互动模式下特定API | ||||||
isEnableSpeakerphone | 获取当前音频输出为听筒还是扬声器 | ||||||
refreshPushURLToken | 刷新Token鉴权信息,传入一个新的推流URL | ||||||
isCameraAutoFocusFaceModeSupported | 摄像头是否支持人脸聚焦 | ||||||
setCameraAutoFocusFaceModeEnabled | 设置摄像头人脸对焦 |
AlivcLivePushConfig
API | 描述 | ||||||
livePushMode | 直播推流引擎模式 | ||||||
resolution | 推流分辨率设置分辨率 | ||||||
qualityMode | 直播推流引擎工作模式 | ||||||
enableAutoBitrate | 是否打开码率自适应,默认打开 | ||||||
enableAutoResolution | 是否打开分辨率自适应(动态分辨率),默认关闭 | ||||||
fps | 视频帧率 | ||||||
targetVideoBitrate | 目标视频编码码率 | ||||||
audioBitrate | 音频编码码率 | ||||||
audioSampleRate | 音频采样率 | ||||||
audioChannel | 声道数 | ||||||
audioScene | 音频应用场景(音乐场景请设置AlivcLivePusherAudioScenarioMusicMode) | ||||||
videoEncodeGop | 关键帧间隔 | ||||||
orientation | 推流方向:竖屏、90度横屏、270度横屏 | ||||||
cameraType | 摄像头类型 | ||||||
pushMirror | 推流镜像 | ||||||
previewMirror | 预览镜像 | ||||||
audioOnly | 纯音频推流 | ||||||
videoOnly | 纯视频推流 | ||||||
pauseImg | 暂停摄像头推流,切换成静态图片推流,一般用在摄像头关闭的场景 | ||||||
networkPoorImg | 弱网下推静态图片,一般是用在上行带宽差的场景 | ||||||
flash | 是否开启闪光灯 | ||||||
videoEncoderMode | 视频编码模式 | ||||||
videoHardEncoderCodec | 视频硬编码方式(H264、H265) | ||||||
audioSessionOperationRestriction | 设置SDK对AVAudioSession的控制权限 | ||||||
externMainStream | 外部自定义数据推流 | ||||||
externVideoFormat | 外部自定义视频数据格式 | ||||||
externAudioFormat | 外部自定义音频数据格式 | ||||||
enableLocalVideoTexture | 互动模式下默认回调pixbuffer,通过enableLocalVideoTexture可以指定纹理回调 |
AlivcLiveTranscodingConfig
API | 描述 | ||||||
backgroundColor | 混合后画面的底色颜色,默认为黑色 | ||||||
cropMode | 混合后视频画面裁剪模式 | ||||||
mixStreams | 混屏成员列表 |
AlivcLiveMixStream
API | 描述 | ||||||
userId | 参与混流的userId | ||||||
x | 图层位置x坐标(绝对像素值) | ||||||
y | 图层位置y坐标(绝对像素值) | ||||||
width | 图层宽度(绝对像素值) | ||||||
height | 图层高度(绝对像素值) | ||||||
zOrder | 图层层次 | ||||||
streamType | 混入的流类型 |
连麦拉流引擎相关接口
AlivcLivePlayer
仅限互动模式下拉流使用
API | 描述 | ||||||
setLivePlayerDelegate | 设置播放回调 | ||||||
setPlayView:playCofig | 设置播放View | ||||||
startPlayWithURL | 开始播放音视频流 | ||||||
stopPlay | 停止播放视频流 | ||||||
pauseAudioPlaying | 暂停播放音频流 | ||||||
pauseVideoPlaying | 暂停播放视频流 | ||||||
resumeAudioPlaying | 恢复播放音频流 | ||||||
resumeVideoPlaying | 恢复播放视频流 | ||||||
setPlayoutVolume | 设置播放音量 |
AlivcLivePlayConfig
API | 描述 | ||||||
renderMode | 渲染模式 | ||||||
mirror | 播放是否镜像 | ||||||
rotationMode | 旋转角度 |
回调接口
AlivcLiveBaseObserver
API | 描述 | ||||||
onLicenceCheck:Reason | SDK Licence校验接口回调 |
AlivcLivePusherInfoDelegate
API | 描述 | ||||||
onPreviewStarted | 预览开始 | ||||||
onPreviewStoped | 停止预览回调 | ||||||
onFirstFramePreviewed | 渲染第一帧回调 | ||||||
onFirstFramePushed | 发送第一帧音视频流回调 | ||||||
onPushStarted | 推流开始回调 | ||||||
onPushPaused | 摄像头推流暂停回调 | ||||||
onPushResumed | 摄像头推流恢复回调 | ||||||
onPushStoped | 推流停止回调 | ||||||
onPushStatistics | 直播推流引擎统计数据回调(每2秒回调一次) | ||||||
onSetLiveMixTranscodingConfig | 设置云端的混流(转码)参数回调 | ||||||
onKickedOutByServer | 被服务侧强制踢掉回调 |
AlivcLivePushErrorListener
API | 描述 | ||||||
onSDKError | SDK错误回调 | ||||||
onSystemError | 系统错误回调 |
AlivcLivePusherNetworkDelegate
API | 描述 | ||||||
onNetworkPoor | 网络差回调 | ||||||
onConnectRecovery | 网络恢复 | ||||||
onConnectFail | 推流失败 | ||||||
onConnectionLost | 链接断开 | ||||||
onReconnectStart | 重连开始回调 | ||||||
onReconnectSuccess | 重连成功回调 | ||||||
onReconnectError | 重连失败回调 | ||||||
onPushURLTokenWillExpire | 连麦推流URL的token即将过期(将在过期前30s内发送此回调) | ||||||
onPushURLTokenExpired | 连麦推流URL的token已经过期 | ||||||
onSendSeiMessage | 发送SEI Message通知 |
AlivcLivePushBGMListener
API | 描述 | ||||||
onCompleted | 播放结束通知 | ||||||
onDownloadTimeout | 播放器超时事件,播放器重连并且seek到播放位置 | ||||||
onOpenFailed | 流无效通知,提示流不可访问 | ||||||
onPaused | 播放暂停事件 | ||||||
onProgress | 播放进度事件 | ||||||
onResumed | 播放恢复事件 | ||||||
onStarted | 播放开始事件 | ||||||
onStoped | 播放停止事件 |
AlivcLivePusherCustomFilterDelegate
API | 描述 | ||||||
onCreate | 通知外置滤镜创建回调 | ||||||
onProcess:texture:textureWidth:textureHeight:extra | 通知外置滤镜处理回调(纹理回调),互动模式默认是pixbuffer回调,如果想要纹理回调,需要将enableLocalVideoTexture开关开发 | ||||||
onProcessVideoSampleBuffer:sampleBuffer | 互动模式下默认是pixbuffer回调 | ||||||
onDestory | 通知外置滤镜销毁回调 |
AlivcLivePlayInfoListener
API | 描述 | ||||||
onError | 错误回调 | ||||||
onFirstVideoFrameDrawn | 视频播放回调 | ||||||
onPlayStarted | 开始播放回调 | ||||||
onPlayStoped | 结束播放回调 | ||||||
onNetworkQualityChanged | 网络质量变化时发出的消息 | ||||||
onPlayerStatistics | 播放统计数据回调 | ||||||
onReceiveSeiMessage | SEI回调 | ||||||
onPlayoutVolumeUpdate | 播放音量和是否正在说话的反馈回调 |