蓝松绿幕抠图使用说明

本文详细介绍了绿幕抠图技术在直播中的应用,包括多机位支持、图像合流、美颜接口及自定义界面。通过LSOCameraLive和LSOGreenMatting类提供的API,开发者可以实现从图像输入、抠图处理到推流输出的全套解决方案。同时,文章还解答了关于绿色物体保护、推流、外接美颜等问题,并提供了相关接口的使用示例代码。

提供两种形式.

方式1: 业务功能型

  • 完整的拍摄,抠图,叠加背景/前景,多机位,网络流输入, 最后图像输出等一整套直播采集图像解决方案API
  • 对应的类是:LSOCameraLive;是一个容器类, 内部把系统的Camera封装为一个图层, 把背景图片/视频,前景图片等封装为一个一个的图层, 然后每个图层都可以设置抠绿调节等;最后输出图像流.
  • LSOCameraLive类每个API说明见下面;
  • 演示代码在:GreenMattingLiveActivity.java(android) / ios是:LSOLiveBroadController.m(IOS)

形式2: 纯净API类型

  • 一个类:LSOGreenMatting
  • 使用方法是:
//工作在opengles中, 纹理输入+ 宽度+高度输入, 内部抠图后, 以纹理的形式返回.
public int renderOnGPU(Context context, int textureId, int width, int height)

集成说明

  • 见我们的A2文档的, 通用集成说明,大致是:android是import LanSongSDK module; ios是把LanSongSDK拖入到您工程里.

常见问答

1. 如何支持多机位.
  • 我们提供了多个输入接口, 让你把外面的图像数据实时的输入到SDK里.
  • android系统常见的有:MediaPlayer播放器, ijkplayer, usb摄像头, MediaCodec接口等 这些接口都有一个API叫 setSurface, 意思是设置一个图像输入口, 我们SDK提供了一个创建surface的可与之匹配.把我们创建好的surface设置到这些播放控件中, 即可把外面的图像数据引入到我们SDK中.
  • 接入后,我们把多机位的控制分为两部分, 播放控制和图像画面控制, 播放控制是在外面完成, SDK因只传递了画面进来, 故需要用您的控件来控制播放流的各种动作,比如暂停/调速,切换等; 对图像画面的显示位置,显示大小,是否抠绿等的调节, 是在SDK内部完成的.
  • 现在支持的有MediaPlayer, ijkPlayer, MediaCodec, USB摄像头-uvc格式.
  • USB摄像头举例代码如下:
//增加一个图层到容器里,可增加多层,返回这一次的控制对象LSOCamLayer
 usbUvcLayer=lsoCamera.addSurfaceLayer(width ,height, true, 0);
                if(usbUvcLayer!=null){
                //图层对象获取到surface设置到usb播放控件中
                    uvcCameraHandler.startPreview( usbUvcLayer.getSurface());
                    //图层设置抠绿功能
                    usbUvcLayer.setGreenMatting(LSOSegmentType.GREEN_MATTING);
                }
// 可增加多层, 并有removeLayer()删除这个图层. 
  • 视频播放器MediaPlayer的举例:
MediaPlayer mediaPlayer=null;
    private void addMediaPlayer(){
        if(mediaPlayer==null){
            mediaPlayer=new MediaPlayer();
            try {
       
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值