IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 绿幕抠图的常见问答 -> 正文阅读

[移动开发]绿幕抠图的常见问答

常见问答

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()删除这个图层. 
  • ios系统常见的是AVPlayer, 此控件支持网络url数据流, 只需要设置好URL的路径, 即可播放.
  • 如果需求是大于2个机位,则可以调节每个位置在上层或下层, 也可以调节缩放每个机位的话, 并上下左右平面布局;

2. 如何支持合流

  • 如果是外面输入的图像流,则类似我们说的多机位.
  • 如果是自定义的UI界面, 想叠加到图像中,则我们也支持的. 我们提供了一个UI控件容器, 你把您的各种控件增加到此容器中即可. 比如android, 我们提供了LSORelativeLayout, ios提供了UIView, 可以让您把很多文本/按钮,动画等绘制到此根view中. 绘制后, 会在推流的时候, 合并为同一个图像输出;

3. 绿色物体不想被抠去怎么办?

  • 有两个方法. 1. 背景用蓝布或红布; 2. 区域保护.
  • 背景用蓝布或红布: 步骤是把背景换成一块蓝布或红布, 然后在SDK里设置抠蓝色或红色即可.
  • 区域保护: 可设置图像画面中某个区域,不被抠去. 比如产品是固定在左下方,则把图像的左下方设置为不被抠去的地方即可.

4. 如何推流

  • 我们提供了引出图像的方法, android可引出NV21格式或RGBA格式的图像, ios引出的图像格式是:bgra或CVImageBufferRef, 并均支持在引出过程中,设置图像的宽高.
  • 输出的图像数据, 是在内部已经叠加成一帧图像;
  • 拿到这些图像数据后, 可设置到推流SDK或外部使用.

5. 如何外接美颜

  • 我们演示demo里已经接入了相芯的美颜SDK,
  • 如果你要接入别家SDK,也支持的, android的图像以纹理的形式引出, ios以sampeBuffer形式引出.
  • 可参考我们的代码, 把输入的图像,经过别家SDK,把美颜的结果一纹理或数据的格式返回即可.

6. 如何自定义界面.

  • 我们提供了最简单的抠绿工程:
  • android 下载:https://github.com/LanSoSdk/android_green_matting
  • ios下载地址:https://github.com/LanSoSdk/ios_green_matting
  • 以上工程, 是以最少的代码,演示了抠绿的效果. 您可以把演示代码拷贝过去, 然后在此基础上开发您的界面.
  • 最简单的演示和我们完整工程的演示, 用的是同一份SDK, 只是一个简单易读, 一个功能演示丰富.

7. 预置点和 蓝牙键盘支持吗?

  • 全面支持
  • 具体是: 你可以拿到每一层画面的控制对象, 根据此对象, 你可以设置此画面在任意位置/任意宽高/任意角度显示,并可以设置是否抠图等;
  • 我们演示demo里有蓝牙键盘的控制代码, 这些都是开源的, 修改对应的判断语句即可自定义

8.实际直播场景要注意哪些?

  • 不要距离绿布太近, 如果太近,绿布在灯光的照射下,会反光到人或物体上, SDK的抠绿原理可想象为判断每个像素是否是绿色, 如果是绿色则抠去, 这样的话,一些反射到人或物体上的绿色,就会被抠去.
  • 调节办法是: 先关闭绿幕抠图功能, 一个人或物体站在绿布前面, 另一个人调节灯光强弱和调节距离绿幕的远近, 以人或物体的表面没有反光为好. 可配合我们的抠绿强度调节.
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-13 12:13:24  更:2021-08-13 12:15:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 0:45:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码