Why Web Vtuber?

GitHub Repo stars

CIGitHub deployments

这里有个 在线示例,会随着文档的内容更新而不断延伸下去,但是不得不承认线上还是挺卡的。

前言

因为经济拮据,家道中落,我打算出道成为 Vtuber。(好,很有精神!

那么当 Vtuber 直播些什么好呢?一不会唱歌跳舞,二不会引导气氛。嗯,那就干脆写代码吧。(等等,真的会有人想看这种东西吗?

设备

不少虚拟主播使用的是 FaceRig + Live2D 的解决方案。而我的直播内容暂定是写代码(所以真会有人想看这个吗?别骂了,别骂了。),且我的开发环境大部分位于我的小 Macbook 上,但是 FaceRig 是不支持 Mac 平台的。

所以需要另寻他路。前前后后找了几个软件,也大部分不支持 Mac 端。

倒是有个 Live2DViewerEX 看起来不错,想着等打折再买(因为我是因为拮据所以准备出道的嘛)。

此后发现了一个 Vtuber 教程:RimoChan/Vtuber_Tutorial可惜作者是个变态),使用 Python 构建,我也就理所当然地当作跨平台了。并打算照猫画虎。学习(抄袭)中途发现需要使用 OpenGL,但是目中无人的苹果早在 2018 WWDC 便宣布弃用 OpenGL 了(又不是不能用),而 OpenGL 自身也的确停止更新了。

所以为了面向未来,同时节约资金,加之自身对此类工具精度与效率并没有过高追求,本着学习(造轮子与白嫖自己)的态度,决定自给自足。

首先造轮子,得确认它当前尽可能是是独一无二的,才是有意义的,我打算将其定位至浏览器端,以实现真正意义上的跨平台。 理想情况为部署后,任意机器打开浏览器页面即可尝试粗略的效果,而无须配置安装各类环境。

即通过 WebRTC 读取视频、Tensorflow.js 捕捉特征点、映射到 Live2D Web,最后通过 OBS 加载浏览器资源实现直播。(总感觉有很多坑要踩

因为技术力有限,本仓库主要用于记录学习尝试中的过程,但不保证一定能实现预想中的目标。(勿谓言之不预也

旧版

开始

新的开始

使用 Vue3 Compostion API + kalidokit + @mediapipe/holistic 进行重构。