three.js 视频融合

MixVideo.js代码:

如何使用:调用mixVideo方法,把scene、fly(用于场景飞行)和其它配置的参数传给它即可

涉及到的变量说明:

video 视频标签DOM

loadingVideo 视频加载出来前的loading动画的DOM,mp4格式

mixVideoBounds 播放视频的Geometry的四个顶点的坐标

mixVideoCameraPosition 场景相机position(PerspectiveCamera对象的position)

mixVideoCameraTarge 场景相机target(OrbitControls.js的OrbitControls对象的target)

mixVideoBounds参数不好调,我做了一个调参的功能,当参数调整时,自动保存到数据库

MixVideoGui.js代码:

效果图:

没有真实的视频,随便找了个在线的hls流

效果图gif:

说明:第1个模拟的是平视的摄像机,第2个和第3个模拟的是俯视的摄像机,第4个没有配置视频融合相关参数,直接弹出视频播放对话框。

mixVideoBounds参数调整效果图:

现场测试效果图: 

效果不怎么样,也可能只是参数没调好。