新闻动态

网页HTML5如何实现播放VR视频

一、VR视频的播放原理

VR视频播放是全景相机拍摄的逆过程。

拍摄时,想象把一个水晶球的表面分成多份,每一份就是一个鱼眼镜头,多个鱼眼镜头把现实世界映射成一个球体的表面贴图;

全景相机
球体表面贴图

播放时,VR播放器会用3D技术构建出一个虚拟的球体,用户身处虚拟球体的内部中心,看到的就是拍摄时水晶球映射的球体表面;

3D虚拟球体和摄像机

用户头部转动时,调整3D摄像机角度,再通过凸透镜把画面映射到用户的双眼,详情参考VR视频播放原理。

二、网页HTML5如何实现播放VR视频

WebGL的普及率高,并能访问底层的图形绘制API,网页渲染VR视频的刷新率能达到60赫兹,与APP一样流畅。

WebGL兼容表

three.js , A-frame 等优秀的开源JS库能快速地实现在网页上播放VR视频,具体可参考相关网站, 但是经过笔者实测,直接使用也有一些缺点:

  • js文件超过500Kb,影响网页加载速度
  • 浏览器兼容以Chrome/Firefox支持为主
  • 交互功能的开发较复杂,要求前端掌3D图形学知识