Skip to content

diyCamera

sunjian880928 edited this page Aug 2, 2016 · 9 revisions

积木类使用说明

用户可以自己采集音视频数据,使用金山云SDK推流模块,完成推流功能时,可以进行如下配置。

用户采集数据

原始数据:使用AVFoundation框架,提供的基本类AVCaptureDeviceInput,AVCaptureSession,AVCaptureVideoDataOutput,AVCaptureAudioDataOutput完成时音频的采集和输出,通过AVCaptureVideoDataOutputSampleBufferDelegate,AVCaptureAudioDataOutputSampleBufferDelegate代理

  • -(void) captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection {}来完成音视频数据测输出,

推流模块

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

  • 采集相关的属性查询和操作可以通过 kit.capDev 进行
  • 图像处理相关的滤镜,可以通过 kit.filter 进行,kit.filter 是通过 kit.setupFilter设置进来的
  • 预览相关的,可以通过 kit.preview进行
  • 背景音乐相关,可以通过 kit.bgmPlayer
  • 混音相关操作,可以通过 kit.audioMixer
  • 画中画的播放器,可以用 kit.player
  • 画中画的静态背景图和播放器,可以用 kit.bgPic 和 kit.player

kit类使用示例

  • 先构造kit类的实例
KSYGPUStreamerKit * kit = [[KSYGPUStreamerKit alloc] initWithDefaultCfg];

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

  • 启动采集
[kit startPreview:self.view];
  • 启动推流
NSString *rtmpSrv  = @"rtmp://test.uplive.ksyun.com/live/888";
NSURL* _hostURL = [[NSURL alloc] initWithString:rtmpSrv];
[kit.streamerBase startStream:_hostURL];
  • 停止推流
[kit.streamerBase stopStream];
  • 停止采集
[kit.streamerBase stopPreview];

1. 推流环节说明

2. 特色功能说明

2.1 采集

2.2 音频处理

2.3 视频处理

2.4 编码

2.5 推流

2.6 输入多样化

2.7 集成

3. 第三方功能

4. 技术专栏

5. 已知问题

8. FAQ

金山云计算

Clone this wiki locally