Skip to content

picMixer

pengbin edited this page Sep 13, 2016 · 1 revision

图层混合模块

直播推流时, 可能会有叠加水印, 叠加文字, 叠加背景图片等需求. SDK中提供了 KSYGPUPicMixer 作为一个抽象的图层混合工具,提供如下功能

  • 将多个图层的内容进行叠加, 每个图层用index[0~n] 作为标示
  • 叠加顺序为0层在最下层, index越大在更上层
  • 可以每个图层分别指定位置和大小
  • 可以每个图层分别制定透明度
  • 可以动态交换图层
  • 可以动态刷新图层内容(支持视频)
  • 输出的刷新率 与 masterLayer 保持一致

KSYGPUPicMixer 本质上是一个多输入的GPUImageFilter, 使用方法, 就是将其作为target 添加到数据源中. 数据源可以是GPUImagePicture, Camera, 或者其他GPUImageFilter. 使用实例可以参考kit类代码.下面是一个简单的示例:

    _vMixer = [[KSYGPUPicMixer alloc] initWithOutputSize:CGSizeMake(540, 960)];
    _vMixer.masterLayer = 0;
    [_capDev addTarget:_vMixer atTextureLocation:0];
    [_pic    addTarget:_vMixer atTextureLocation:1];
    [_yuvIn  addTarget:_vMixer atTextureLocation:2];
    [_vMixer setPicRect: CGRectMake(0.0, 0.0, 0.5, 0.5) ofLayer:0];
    [_vMixer setPicRect: CGRectMake(0.2, 0.2, 0.5, 0.5) ofLayer:1];
    [_vMixer setPicRect: CGRectMake(0.5, 0.5, 0.5, 0.5) ofLayer:2];
    [_vMixer setPicAlpha:0.5 ofLayer:0];
    [_vMixer setPicAlpha:0.8 ofLayer:1];
    [_vMixer addTarget:_preview];

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