Skip to content

UnionStreamerKit_Guide

shixuemei edited this page Nov 20, 2017 · 1 revision

UnionStreamKit 使用说明

UnionStreamKit主要是将本SDK推流提供的组件化API组合到一起,将模块连接的底层工作屏蔽掉了。

UnionStreamKit能够满足一般直播应用场景的需求,对于非通用场景,可参考kit类源码,依据自己的需要进行组装。

1. 代码开源

UnionStreamKit提供了组件化API的示例

开源代码请见

2. kit类中的子模块

为了避免API重复封装,使用UnionStreamKit时,一些比较少用的操作还是通过其内部的组件成员进行的。

  • 视频采集相关的属性查询和操作可以通过 kit.vCapDev 进行
  • 音频采集相关的属性查询和操作可以通过 kit.aCapDev 进行
  • 图像处理相关的滤镜,可以通过 kit.filter 进行,kit.filter 是通过 kit.setupFilter设置进来的
  • 图像混合的相关操作,可以通过kit.vPreviewMixer(预览)和kit.vStreamMixer(推流)进行
  • 混音相关操作,可以通过 kit.aMixer进行
  • 预览相关操作,可以通过 kit.preview进行
  • 视频编码相关操作,可以通过kit.vEncoder进行
  • 音频编码相关操作,可以通过kit.aEncoder进行
  • 推流相关的操作, 可以通过kit.publisher进行

3. kit类使用示例

3.1 构造kit类的实例

UnionStreamKit *kit = [[UnionStreamKit alloc] initWithPreset:UnionPreset_540p_auto];

此时kit类已经配置好了一系列的默认参数,如果默认参数不能满足要求,可以再启动采集和推流前修改即可。

3.2 启动采集

[kit startPreview:self.view];

传入的视图作为预览视图的容器, 预览视图会填满self.view并置于底部.

3.3 启动推流

NSString *rtmpSrv  = @"rtmp://test.uplive.ksyun.com/live/888";
NSURL* _hostURL = [[NSURL alloc] initWithString:rtmpSrv];
[kit startStream: _hostURL];

3.4 停止推流

[kit stopStream];

3.5 停止采集

[kit stopPreview];