SDK 所有功能都封装在 LSMediaCapture 类中;
LSMediaCapture 提供了用户设置推流参数的接口;
lsParaCtx.eOutStreamType = LS_HAVE_AV;//此字段用来设置推流选择是推音频流、视频流还是音视频流
lsParaCtx.eOutFormatTYpe = LS_OUT_FMT_RTMP;//此字段用来设置推流的输出封装格式,目前支持flv,以及RTMP两种方式
lsParaCtx.eHaraWareEncType = LS_HRD_NO;//此字段用来设置视频编码器是否选择系统硬件编码,默认为不开启
视频采集编码参数设置
1. 设置视频采集帧率,目前编码帧率也按照采集帧率设置;
2.设置视频编码码率;
3.设置视频编码器类型,目前仅支持AVC/H.264编码;
4.设置视频采集编码的分辨率,分别为高清、标清和流畅;
5.设置LSMediaCapture初始化的摄像头为前置或后置,当然在初始化之后,任意时间都可以通过switchCamera接口去切换摄像头;
6.设置LSMediaCapture初始化的摄像头方向,目前不支持直播过程中切换摄像头方向;
7.设置视频显示是否为16:9 模式;
8.是否打开摄像头flash功能;
9.是否打开摄像头zoom功能;
10.是否支持视频水印功能
音频采集编码参数设置
1.设置音频采集的帧大小;
2.设置音频编码码率;
3.设置音频采样率;
4.设置音频采集编码声道;
5.设置音频的编码器类型,目前仅支持AAC
三个重要接口
//初始化接口
-(instancetype)initLiveStream:(NSString *)liveStreamingURL
//只需要设置直播推流的地址,其他推流参数采用默认设置
//设置视频类参数接口
-(instancetype)initLiveStream:(NSString *)liveStreamingURL
withVideoParaCtx:(LSVideoParaCtx)videoParaCtx
//此接口提供给用户设置所有推流参数
-(instancetype)initLiveStream:(NSString *)liveStreamingURL
withLivestreamParaCtx:(LSLiveStreamingParaCtx)lsParaCtx
直播操作
LSMediaCapture类提供用户直播音视频推流开启、关闭、中断以及恢复:
//开始直播
-(BOOL)startLiveStreamWithError:(NSError**)outError
//返回开始直播是否出现错误,以及详细错误信息。
//关闭直播
-(BOOL)stopLiveStream
音/视频流操作
LSMediaCapture 提供用户在直播过程中单独关闭、中断、恢复和开启音视频流中的音频或视频流:
//直播过程中恢复音频流推送
-(BOOL)resumeAudioLiveStream
//直播过程中暂停音频流推送
-(BOOL)pauseAudioLiveStream
//与 pauseVideoLiveStream 匹配,实现直播过程中暂停或恢复视频流推送
//直播过程中暂停视频流推送
-(void) pauseVideoLiveStream
视频预览
LSMediaCapture 提供视频预览功能,上层需要创建 UIView 对象,作为视频预览的窗口:
//打开视频预览
-(void)startVideoPreview:(UIView*)preview
//初始化好LSMediaCapture类,可以打开视频预览
//中断视频预览
-(void)pauseVideoPreview
//恢复视频预览
-(void)resumeVideoPreview
//与 pauseVideoPreview 配对使用,如果正在直播过程中,则同时恢复视频流推送
直播出错回调
//直播过程中如果发生了错误,比如推流 server 断开等异常情况,SDK 通过以下回调通知应用:
@property (nonatomic,copy) void (^onLiveStreamError)(NSError *error);
//可以根据参数 error 的错误信息决定是否关闭当前直播或者重启直播等。