明天是周末,也是这个月的月末, 总结一下工作。

2024-01-16 03:58

本文主要是介绍明天是周末,也是这个月的月末, 总结一下工作。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

2021年春节前和春节后的两三个月, 对接了一些绿幕直播的客户, 我们自己去做直播, 出差去拜访主播,在不同的手机上测试绿幕直播的性能,去聊,去看,思考, 见过很多客户,发现对绿幕直播的认知,客户之间确实差别很大,认知的不同确实会造成事情结果截然不同;趁着发布了新版本,总结一下:

什么是绿幕直播, 虚拟直播
  1. 绿幕直播,是人站在绿布前直播, 直播画面会实时抠去背后的绿布, 然后叠加上其他画面,比如卖货用的宣传图片,宣传视频,讲师的课件, 起到很好的宣传效果;
  2. 实际操作:比如在抖音里做绿幕直播,步骤是:打开抖音的直播界面,点击录屏,这时抖音退到后台, 再次打开绿幕抠图APP里的相机绿幕抠图预览,因为相机实时抠图显示,抖音在后台直播手机APP界面,APP里的界面就是相机抠绿后的各种叠加界面,从而实现在抖音绿幕直播的效果。
  3. 使用场景:如果你是卖货主播,你的身后背景可以设置为:商品信息,打折信息, 商品视频; 如果是讲师, 背景可以换成案例分析的PPT, 宣传彩页等等; 用户看直播时,一边看你主播, 一边很清晰的看明白你讲的内容, 很多时候,语言描述远远没有图片,视频给力,直接, 引流效果强。
  4. 虚拟主播:更是在抠绿后做进一步的处理, 比如把主播封装成卡通人物, 声音调节为甜美,投入到虚拟舞台上, 更大的观赏性;但这些都是在绿幕抠图或AI抠图后做的处理;(估计2021年的下半年或2022年一些大的主播会采用。这是后话)
为什么用绿幕直播,而不用AI实景抠图。
  1. 主要是因为目前(2021年)AI实景抠图还不太成熟,大厂提供的人像抠图或多或少的有瑕疵, 要么是有白边, 要么抠的不精准, 还无法做到绿幕那么干净的程度, 抠后叠加上背景画面, 有违和感, 不自然, 容易出戏;
  2. 如果哪天AI实景抠图技术成熟了, 用AI实景抠图当然很好,但目前来说,还是绿幕抠图实用性高。
  3. (我们看到的虚拟主播演示,就是类似阿凡达那样的拍摄场地,设备专业,AI实景抠图或绿幕抠图 + UE4,明明是一个抠脚大汉,但经过抠图和UE4的处理, 出来的就是卡哇伊的美少女,并且实时和声音同步,但这些是顶流才可以用得起的啊, _
抠绿? 就这? 随便做做不就可以了?
  1. 答案还真的不是随便做做的事情;

  2. 首先: 我们认真的考虑这个抠绿的事情, 并研究过大量的开源抠绿算法, 比如ffmpeg中的色阶抠绿,github上的其他算法, 发现要想做好抠绿,还真的没有那么简单。要么画面泛绿; 要么在剧烈运动的时候(比如主播拿着商品手臂来回舞动等场合),抠不完整, 有绿色边缘, 或者速度上太慢等等,

  3. 其次:因为绿幕直播, 是抖音在后台实时的录屏实现的, 还要考虑性能差的手机,要给抖音留住足够多的时间去录屏直播, 如果速度慢, 抠绿和预览占据了大量的CPU资源,会导致抖音录制网络传输后的画面抖动, 有时候一卡卡的情况,严重手机发烫。但如果把画面分辨率降低,又会感觉画面不清晰,卖货更无从谈起;

  4. 还有多机位的问题。 多机位就是多个画面同时显示,场景就是:卖货主播手里拿着商品, 既要主播显示出来,同时主播手里的商品也要特写的显示出来。多个摄像机的画面同时叠加出来。

  5. 多个素材叠加的问题, 如何方便易用,则是一个细节调整的过程;

  6. 针对这样的情况, 我们做了大量的优化, 既要抠绿抠的完整,自然,叠加上别的画面不出戏, 又要兼容Android低端机的性能,并且还要简单易用。

  7. 综上来说, 确实不是:”就这“ 可以完成的。

这篇关于明天是周末,也是这个月的月末, 总结一下工作。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/611264

相关文章

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Git提交代码详细流程及问题总结

《Git提交代码详细流程及问题总结》:本文主要介绍Git的三大分区,分别是工作区、暂存区和版本库,并详细描述了提交、推送、拉取代码和合并分支的流程,文中通过代码介绍的非常详解,需要的朋友可以参考下... 目录1.git 三大分区2.Git提交、推送、拉取代码、合并分支详细流程3.问题总结4.git push