更新于 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/
获得关键属性
1 |
name="spot1" ath="16.18094073838671" atv="-26.482895573174755" scale="1.0299999999999994" rx="-9.5" ry="-9" rz="4.5" |
当我们需要在krpano抠像时,可使用下载包中的chromakey_helper.xml,将这个xml放在根目录下。
将下面的代码嵌入到主xml中(调试结束后需要删除)
1 2 |
<include url="chromakey_helper.xml" /> <set var="chromakey_helper_hotspot" val="video" /> |
这样打开时就可以通过选择颜色进行抠像。
点击吸管
使用吸管工具点击绿幕背景
调整阈值
调整平滑度
将xml代码复制到粘贴板,即下面代码,将其放到热点视频的hotspot元素中。
1 |
chromakey="0x1D894E|0.100|0.140" |
同时删除
1 2 |
<include url="chromakey_helper.xml" /> <set var="chromakey_helper_hotspot" val="video" /> |
属性名 |
chromakey |
---|
使用chromakey设置,热点图像或视频中的特定颜色可以用作alpha/透明度遮罩。典型的用法是绿屏或蓝屏视频。 语法: chromakey=”color,threshold,smoothing”
仅在WebGL渲染下可用 |
使用包含灰度信息的图片或视频进行透明设置
这一种方法要求有一张左右并排或者上下并置的图片或者视频,其中一半为另一半的灰度图。
如:
例如我们制作一个带有灰度图的热点图。
需要切换到灰度模式
可使用亮度/对比度作进一步的调整
将原有的图片和灰度图左右并置合成一张新图
另外一种将透明png处理成镜像通道jpg的方法是使用imagemagick,到官网下载软件进行安装。
以win10系统进行讲解,打开命令窗口。使用CD命令定位到图片所在的路径。
例如在C盘123文件夹有一个input.png图片,这是一个有透明通道的图片。
执行命令
1 |
convert -separate -channel a input.png alpha.png |
这时候生成了多张灰度png图片。
实际上只有alpha-3.png是我们需要用到的。
接下来执行
1 |
convert input.png -background black -alpha remove input.jpg |
将原来的png图片转换为jpg。
最后执行
1 |
convert input.jpg alpha-3.png +append output.jpg |
将alpha-3.png与output.jpg合并。
如果需要上下排列的方式,则执行
1 |
convert input.jpg alpha-3.png -append output.jpg |
对于视频也是同样的道理,注意,越黑则越接近全透明,越是白色则透明度接近0。
下面是分别使用图片和视频的情况,需要设置的是高亮代码,即alphachannel属性,SBS表示左右并置的图(注意,右侧的是灰度图),TB表示上下并置的图(下面的是灰度图),
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<hotspot name="sbs" url="alphachannel_sbs.jpg" alphachannel="SBS" distorted="true" capture="false" ath="-15" scale="0.5" /> <!-- example video source: https://codepen.io/lerayfle/pen/PozNmer --> <hotspot name="video" url="%VIEWER%/plugins/videoplayer.js" videourl="spaceships_tb_alpha.mp4" alphachannel="TB" pausedonstart="false" onclick="togglepause();" loop="true" distorted="true" capture="false" ath="18" scale="0.7" /> |
属性名 |
alphachannel |
---|
设置透明通道用法和使用源。可用于图像和视频。
使用方法:目前浏览器不支持透明视频,因此可以使用alpha通道作为右侧(左右并排)或底部(上下)的额外图像或视频。 可用设置:
注意 – 该设置需要在加载图像/视频时设置一次,之后运行再更改设置将不起作用。 仅在WebGL渲染下可用 |