移花接木(37)- 添加透明视频热点

更新于 2020.11.19 krpano 1.20.9

官方下载包路径

你电脑的路径\krpano-1.20.9\viewer\examples\chromakey\

你电脑的路径\krpano-1.20.9\viewer\examples\hotspot-alphachannel\

提示:如果不了解何谓下载包路径,请查看 循序渐进(3)- krpano下载包的使用说明

 

简介

自krpano 1.20.9版本后,krpano支持对视频进行抠像,例如抠掉绿幕视频中的绿色。

另外支持对热点进行左右并列或上下的透明通道设置。从而实现透明视频的效果

 

使用绿幕视频进行透明视频设置

主要工作是在绿幕或者蓝幕拍摄,拍摄的要点和正常的绿幕拍摄是一样的。需要使得人物的衣服颜色和背景色有所区分,例如用的是绿幕,就不要穿绿色衣服。视频拍摄后,需要适当地设置其帧速率、码率以及分辨率。可参考krpano下载包的例子。例如这个单人的视频。

 

其各个参数如下:

 

视频一共七秒钟,文件体积为1.79MB,以此类推1分钟视频约15MB。因此在录制视频时,除了注意人物的衣服颜色以外,其语速也很重要,语速越快,则包含的信息越多,在不影响整体观感的情况下,也可以适当调整视频速率,从而实现在更少的时长容纳更多的声音信息。

 

在上述数据中,建议帧宽度保持在800-1000像素左右,而码率则在1500-2500kbps左右。

 

必须要在后期视频剪辑软件中对视频进行裁剪,在不会裁切到人物身体的情况下,尽可能减少多余的背景。

当我们得到这个视频后,我们可以把这个视频如video.mp4放在项目根目录下。

视频的对齐,可以先将视频导出为图片,使用第三方插件进行对齐。如http://www.krpano360.com/krpanotoolbox_1/

获得关键属性

当我们需要在krpano抠像时,可使用下载包中的chromakey_helper.xml,将这个xml放在根目录下。

将下面的代码嵌入到主xml中(调试结束后需要删除

这样打开时就可以通过选择颜色进行抠像。

点击吸管

使用吸管工具点击绿幕背景

调整阈值

调整平滑度

将xml代码复制到粘贴板,即下面代码,将其放到热点视频的hotspot元素中。

同时删除

属性名
chromakey
使用chromakey设置,热点图像或视频中的特定颜色可以用作alpha/透明度遮罩。典型的用法是绿屏或蓝屏视频。

语法:

chromakey=”color,threshold,smoothing”
  • color – 色度键颜色为十六进制颜色(例如0x238E54)
  • threshold- 遮罩阈值/截止范围(0.0到~1.0)。
  • smoothing – 遮罩平滑度(0.0到~1.0)。

仅在WebGL渲染下可用

 

使用包含灰度信息的图片或视频进行透明设置

这一种方法要求有一张左右并排或者上下并置的图片或者视频,其中一半为另一半的灰度图。

如:

 

例如我们制作一个带有灰度图的热点图。

需要切换到灰度模式

可使用亮度/对比度作进一步的调整

将原有的图片和灰度图左右并置合成一张新图

 

另外一种将透明png处理成镜像通道jpg的方法是使用imagemagick,到官网下载软件进行安装。

以win10系统进行讲解,打开命令窗口。使用CD命令定位到图片所在的路径。

例如在C盘123文件夹有一个input.png图片,这是一个有透明通道的图片。

执行命令

这时候生成了多张灰度png图片。

实际上只有alpha-3.png是我们需要用到的。

接下来执行

将原来的png图片转换为jpg。

最后执行

alpha-3.pngoutput.jpg合并。

如果需要上下排列的方式,则执行

 

对于视频也是同样的道理,注意,越黑则越接近全透明,越是白色则透明度接近0。

下面是分别使用图片和视频的情况,需要设置的是高亮代码,即alphachannel属性,SBS表示左右并置的图(注意,右侧的是灰度图),TB表示上下并置的图(下面的是灰度图),

属性名
alphachannel
设置透明通道用法和使用源。可用于图像和视频。

使用方法:目前浏览器不支持透明视频,因此可以使用alpha通道作为右侧(左右并排)或底部(上下)的额外图像或视频。

可用设置:

  • auto
    • 默认情况下,禁用对JPEG图像和视频的alpha通道支持,同时对所有其他图像文件格式(PNG、GIF、…)启用alpha通道支持。
  • inline
    • 始终启用对透明通道的支持,但输入图像和视频必须包含一个透明通道。
  • SBS
    • 输入源是一个左右并排图像或视频,灰度透明通道位于右侧。
  • TB
    • 输入源是一个上下图像或视频,灰度透明通道位于底部。
  • none
    • 即使输入源包含了透明通道,仍然始终屏蔽对透明通道的支持。

注意 – 该设置需要在加载图像/视频时设置一次,之后运行再更改设置将不起作用。

仅在WebGL渲染下可用